(Python)我试图在使用Selenium chrome驱动程序时捕获异常,但是,到目前为止,我无法捕获异常并提示"此次单击失败!"打印声明。关于如何处理这个问题的任何建议(最初的问题是.click(),因为我遇到了一致性问题,但我认为此时捕获异常就足够了)。
以下例外:
File "/Users/J*****i/anaconda/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
WebDriverException: unknown error: Element is not clickable at point (145, 1818)
(Session info: chrome=64.0.3282.186)
(Driver info: chromedriver=2.31.488774 (7e15618d1bf16df8bf0ecf2914ed1964a387ba0b),platform=Mac OS X 10.10.5 x86_64)
以下代码:
URL2 = URL_in_2
driver = webdriver.Chrome('/Users/J******i/Desktop/chromedriver')
driver.get(URL2)
cookie_disclaimer = driver.find_element_by_xpath("//*[contains(text(), 'OK')]")
cookie_disclaimer.click()
try:
element = WebDriverWait(driver,10).until(
EC.presence_of_element_located((By.ID, "sub-navigation"))
)
except:
"Failed at this click!"
finally:
print("[D2] successful first click: " + str(element) + " found")
答案 0 :(得分:0)
要捕获click()的异常,请将其保存在try catch块中。修改您的代码如下:
URL2 = URL_in_2
driver = webdriver.Chrome('/Users/J******i/Desktop/chromedriver')
driver.get(URL2)
try:
cookie_disclaimer = driver.find_element_by_xpath("//*[contains(text(), 'OK')]")
cookie_disclaimer.click()
element = WebDriverWait(driver,10).until(
EC.presence_of_element_located((By.ID, "sub-navigation"))
)
except:
"Failed at this click!"
finally:
print("[D2] successful first click: " + str(element) + " found")
OR
不确定为什么你在click()之后隐含等待元素存在,但是在你的代码中,你在等待具有id'子导航的元素的存在时捕获任何异常