如何使用 try-expect 跳过 selenium 无法使用 Selenium 和 Python 定位元素的情况
How to use try-expect to skip the case that selenium is unable to locate element using Selenium and Python
我的问题是如何使用try-expect来跳过selenium无法定位元素的情况。
由于某些原因,我不得不跳过描述的情况 above.I 想使用try-expect,但我不知道在except之后写什么。
我用的Python版本3.8.6,chromeriver版本87.0.4280.88,selenium版本号3.141.0,window10
例如():
driver = webdriver.Chrome()
driver.get("https:www.google.com")
try:
driver.find_element_by_xpath('//*[@id="cdNav"]/ul/li[5]/ul/li[1]/a').click()
except:
pass
当前发生错误:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[3]/div/nav/ul/li[5]/a"}
(Session info: chrome=87.0.4280.88)
通常情况下,我可以写IndentationError
、SyntaxError
等等,但是我不知道在上面的EXPECT之后写什么类型的错误。
这个问题困扰我很久了,希望能解决,非常感谢
find_element_by_xpath()
find_element_by_xpath()
returns NoSuchElementException 如果未找到该元素。
所以理想情况下你需要捕获 NoSuchElementException 并且你的有效代码块将是:
driver = webdriver.Chrome()
driver.get("https:www.google.com")
try:
driver.find_element_by_xpath('//*[@id="cdNav"]/ul/li[5]/ul/li[1]/a').click()
except nosuchelementexception:
pass
注意:您必须添加以下导入:
from selenium.common.exceptions import NoSuchElementException
我的问题是如何使用try-expect来跳过selenium无法定位元素的情况。 由于某些原因,我不得不跳过描述的情况 above.I 想使用try-expect,但我不知道在except之后写什么。
我用的Python版本3.8.6,chromeriver版本87.0.4280.88,selenium版本号3.141.0,window10
例如():
driver = webdriver.Chrome()
driver.get("https:www.google.com")
try:
driver.find_element_by_xpath('//*[@id="cdNav"]/ul/li[5]/ul/li[1]/a').click()
except:
pass
当前发生错误:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[3]/div/nav/ul/li[5]/a"}
(Session info: chrome=87.0.4280.88)
通常情况下,我可以写IndentationError
、SyntaxError
等等,但是我不知道在上面的EXPECT之后写什么类型的错误。
这个问题困扰我很久了,希望能解决,非常感谢
find_element_by_xpath()
find_element_by_xpath()
returns NoSuchElementException 如果未找到该元素。
所以理想情况下你需要捕获 NoSuchElementException 并且你的有效代码块将是:
driver = webdriver.Chrome()
driver.get("https:www.google.com")
try:
driver.find_element_by_xpath('//*[@id="cdNav"]/ul/li[5]/ul/li[1]/a').click()
except nosuchelementexception:
pass
注意:您必须添加以下导入:
from selenium.common.exceptions import NoSuchElementException