如何在继续使用selenium和python之前检查元素是否存在?

时间:2017-03-23 11:47:44

标签: python html selenium

只要网站上存在特定的div元素,我将如何运行循环?

我需要解析器浏览多个页面,然后单击 next 每个页面 - 最后一页是空的,因此缺少前面提到的div元素,所以我想在一段时间内运行它-loop将是一个很好的方法。我不知道如何正确地做到这一点。

我现在所拥有的,虽然不起作用,但是:

test = driver.find_element_by_class_name("divClassName").size()

,然后检查其大小是否为while(test != 0)

任何建议都会非常感谢!

1 个答案:

答案 0 :(得分:0)

尝试实施以下方法:

from selenium.common.exceptions import NoSuchElementException    

while True:
    try:
        driver.find_element_by_class_name("divClassName")
        # do what you need
        # click "Next" button
    except NoSuchElementException:
        break

使用上述代码,如果找到<div class="divClassName">,您将能够获取新页面并执行操作,否则将停止

另请注意,size是我们的property,但不是method。您应该将其用作webelement.size而不是webelement.size()