我只想检查一个元素是否在for循环中,但它只是抛出一个异常并结束代码。我该怎么做呢?
ee7vknir1#
这里应该使用driver.find_elements方法,而不是driver.find_element。大概是这样的:
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
True
False
1条答案
按热度按时间ee7vknir1#
这里应该使用
driver.find_elements
方法,而不是driver.find_element
。大概是这样的:
或者这样:
driver.find_elements
将返回与传递的定位器匹配的Web元素的列表。如果找到这样的元素,它将返回非空列表,该列表被Python解释为布尔型True
,而如果没有找到匹配项,它将返回一个空列表,该列表被Python解释为布尔型False