Python 3.4 Selenium处理chromedriver异常

时间:2017-01-10 10:51:52

标签: python selenium error-handling python-3.4 selenium-chromedriver

我使用硒与chromedriver进行python。不幸的是,我没有找到办法处理python中chromedriver引发的错误!

如果我使用selenium打开任何Webseite:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options

opts = Options()
prefs = {"profile.managed_default_content_settings.images": 2}  
opts.add_experimental_option("prefs", prefs)

driver = webdriver.Chrome(chrome_options=opts)
driver.delete_all_cookies()

driver.get("https://www.google.de/")

#Some more actions

driver.close()

如果我关闭浏览器窗口(手动),脚本正在运行,我收到以下错误:

selenium.common.exceptions.WebDriverException: Message: chrome not reachable
  (Session info: chrome=55.0.2883.87)
  (Driver info: chromedriver=2.27.440174 (e97a722caafc2d3a8b807ee115bfb307f7d2cfd9),platform=Windows NT 10.0.14393 x86_64)

如果我将python代码完全放在try / except括号中,如果chrome制动,则不会执行异常!相反,整个程序都会刹车!

有没有办法处理python中chromedriver引发的错误?

感谢您的建议!

编辑: 我想我的问题并没有得到很好的表达。我的脚本工作正常,我只想处理异常,如果有人手动关闭浏览器窗口。现在我的整个python工具包括我的gui崩溃...

2 个答案:

答案 0 :(得分:0)

当您使用driver.close()作为脚本的最后一步时,selenium中存在一个错误。您应该使用driver.quit()driver.close()只是关闭当前窗口(选项卡)并保持浏览器打开。 driver.quit()告诉selenium也要退出chromedriver服务

答案 1 :(得分:0)

此解决方案适用于我:

sudo apt-get install chromium-chromedriver

driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")