selenium webdriver" is_element_present"与" driver.find_element_by~"相同?

时间:2015-09-28 11:30:22

标签: python unit-testing selenium webdriver

我在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~'无论如何,它的重点是什么?

如果发生了这个和这会给我同样的例外,那么差异是什么?

1 个答案:

答案 0 :(得分:0)

isElementPresent不会抛出与findElementBy相同的异常 - 至少NoSuchElementException永远不会被抛出。您粘贴的代码也会隐藏NoSuchElementException - 它只会返回false。

因此,在使用findElementBy时,您必须处理此异常。

除了例外情况,返回值也不同。 findElementBy会返回您稍后可在代码中使用的第一个匹配的WebElementisElementPresent只是检查是否可以在页面上找到指定的元素,返回一个布尔值。