我在unittest webdriver selenium中编写测试
使用is_element_present而不仅仅是" find_element_by~"如果它已包含它?
def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException, e: return False
return True
我的意思是每当我使用' is_element_present'它通过' find_element_by~'无论如何,它的重点是什么?
如果发生了这个和这会给我同样的例外,那么差异是什么?
答案 0 :(得分:0)
isElementPresent
不会抛出与findElementBy
相同的异常 - 至少NoSuchElementException
永远不会被抛出。您粘贴的代码也会隐藏NoSuchElementException
- 它只会返回false。
因此,在使用findElementBy
时,您必须处理此异常。
除了例外情况,返回值也不同。 findElementBy
会返回您稍后可在代码中使用的第一个匹配的WebElement
。 isElementPresent
只是检查是否可以在页面上找到指定的元素,返回一个布尔值。