Selenium 检查元素是否存在,无异常

Hoc*_*ade 2 python selenium automation selenium-rc selenium-webdriver

我只想检查 for 循环中是否存在某个元素,但它只是抛出异常并结束代码。我该怎么办?

Eli*_*ahu 11

相反,driver.find_element您应该在这里使用driver.find_elements方法。
像这样的东西:

if driver.find_elements_by_xpath("/div[@class='class_name']"):
    driver.find_element_by_xpath("/div[@class='class_name']").click()
Run Code Online (Sandbox Code Playgroud)

或这个:

elements = driver.find_elements_by_xpath("/div[@class='class_name']")
if elements:
    elements[0].click()
Run Code Online (Sandbox Code Playgroud)

driver.find_elements将返回与传递的定位器匹配的网络元素列表。如果找到此类元素,它将返回由 Python 解释为布尔值的非空列表True,而如果未找到匹配项,它将返回一个由 Python 解释为布尔值的空列表False