我使用硒与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崩溃...
答案 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")