从 chrome 位置 C:..ChromeApplicationchrome.exe 开始的进程不再运行,因此 ChromeDriver 假设 Chrome 已崩溃

问题描述

Chrome 版本:68.0.3440.106
Chrome 网络驱动程序版本:ChromeDriver 2.41.578737
Python版本:Python 3.5.2

Chrome version: 68.0.3440.106
Chrome webdriver version: ChromeDriver 2.41.578737
Python Version : Python 3.5.2

我用python写了这段代码:

I write this code in python:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys


o = webdriver.ChromeOptions()
o.add_argument("disable-extensions");
o.add_argument("--start-maximized");
driver = webdriver.Chrome(executable_path=r"chromedriver.exe",options=o)
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()

几秒钟后,chrome 打开并出现此错误:

after few seconds chrome opened with this error:


直到我关闭 chrome 并得到这个异常,什么都没有发生:


and nothing happend till i close chrome and get this exception:

    Traceback (most recent call last):
  File ".../game.py", line 8, in <module>
    driver = webdriver.Chrome(executable_path=r"chromedriver.exe",options=o)
  File "...PythonPython35-32libsite-packagesseleniumwebdriverchromewebdriver.py", line 75, in __init__
    desired_capabilities=desired_capabilities)
  File "...PythonPython35-32libsite-packagesseleniumwebdriveremotewebdriver.py", line 156, in __init__
    self.start_session(capabilities, browser_profile)
  File "...PythonPython35-32libsite-packagesseleniumwebdriveremotewebdriver.py", line 251, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "...PythonPython35-32libsite-packagesseleniumwebdriveremotewebdriver.py", line 320, in execute
    self.error_handler.check_response(response)
  File "...PythonPython35-32libsite-packagesseleniumwebdriveremoteerrorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited normally
  (unknown error: unable to discover open pages)
  (The process started from chrome location C:Program Files (x86)GoogleChromeApplicationchrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17134 x86_64)


解决方案

我最近在使用 TeamCity 时遇到了这个问题,这是由于 chrome(和 chromedriver)在执行我的脚本后没有关闭造成的.插入taskkill/f/im chrome.exe"和taskkill/f/im chromedriver.exe"修复了这个问题.

I recently had this issue using TeamCity, which was caused by chrome (and chromedriver) not shutting down after executing my script. inserting "taskkill /f /im chrome.exe" and "taskkill /f /im chromedriver.exe" fixed this issue.

相关文章