我有一段代码,它在其中查找一个名称,我正在尝试编写一个if语句,如果它找不到该名称,则查找其他名称。
我到目前为止所得的资料如下:
excel = driver.find_element_by_name("Export to Excel")
if excel == None:
driver.implicitly_wait(15)
search = driver.find_element_by_xpath("//span[@id='inplaceSearchDiv_WPQ2_lsimgspan']")
search.click()
else:
excel.click()
我知道if语句中的内容是有效的,因为我对它进行了测试。假设我要更改if语句中的参数吗?我得到的错误是,我尝试输入"No selenium.common.exceptions.NoSuchElementException: Message: No such element
element“而不是"None”,但仍然得到相同的错误。它还告诉我,Exception Unhandled NoSuchElementException('No such element', None, None)
可以给我一些关于if语句哪里做错了的建议吗?该错误还指出,当按钮不在页面中时,它是在excel = driver.find_element_by_name("Export to Excel")
中找到的。如果是这样,它将直接转到语句的else部分
发布于 2018-08-11 04:18:27
如果您的驱动程序上的find_element_by_name方法找不到webelement,它将引发NoSuchElementException异常。
尝尝这个
from selenium.common.exceptions import NoSuchElementException
try:
excel = driver.find_element_by_name("Export to Excel")
excel.click()
except NoSuchElementException:
driver.implicitly_wait(15)
search = driver.find_element_by_xpath("//span[@id='inplaceSearchDiv_WPQ2_lsimgspan']")
search.click()
https://stackoverflow.com/questions/51793353
复制相似问题