selenium 无一例外检查元素是否存在

q35jwt9p  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(126)

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

ee7vknir

ee7vknir1#

这里应该使用driver.find_elements方法,而不是driver.find_element
大概是这样的:

if driver.find_elements_by_xpath("/div[@class='class_name']"):
    driver.find_element_by_xpath("/div[@class='class_name']").click()

或者这样:

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

driver.find_elements将返回与传递的定位器匹配的Web元素的列表。如果找到这样的元素,它将返回非空列表,该列表被Python解释为布尔型True,而如果没有找到匹配项,它将返回一个空列表,该列表被Python解释为布尔型False

相关问题