2

我写了一个小脚本来加载我的默认Chrome配置文件并使用Selenium打开一个站点。但是,在chrome成功启动后,代码会暂停一段时间,然后崩溃。Chrome启动后崩溃[Selenium] [Python]

我的脚本:

options = webdriver.ChromeOptions() 
    options.add_argument("--user-data-dir=C:\\Users\\hbur3\\AppData\\Local\\Google\\Chrome\\User Data") 
    options.add_argument("--start-maximized"); 
    wd = webdriver.Chrome(chrome_options=options) 
    wd.get("https://google.com.au/") 

Python的错误:

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed 
    (Driver info: chromedriver=2.27.440174 (e97a722caafc2d3a8b807ee115bfb307f7d2cfd9),platform=Windows NT 10.0.14393 x86_64) 

Chromedriver登录:

[2.638][INFO]: Launching chrome: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-hang-monitor --disable-infobars --disable-popup-blocking --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-logging --ignore-certificate-errors --load-component-extension="C:\Users\hbur3\AppData\Local\Temp\scoped_dir21208_8173\internal" --log-level=0 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12638 --safebrowsing-disable-auto-update --start-maximized --test-type=webdriver --use-mock-keychain --user-data-dir="C:\Users\hbur3\AppData\Local\Google\Chrome\User Data" 
    [2.641][DEBUG]: DevTools request: http://localhost:12638/json/version 
    [4.644][DEBUG]: DevTools request failed 
    [4.695][DEBUG]: DevTools request: http://localhost:12638/json/version 
    [4.896][DEBUG]: DevTools request failed 
    [4.946][DEBUG]: DevTools request: http://localhost:12638/json/version 
    [6.699][DEBUG]: DevTools request failed 
    [6.750][DEBUG]: DevTools request: http://localhost:12638/json/version 
    [6.950][DEBUG]: DevTools request failed 
     etc... 

我曾尝试整体的解决方案,其中包括:

  • 重新安装Chromedriver
  • 创建一个新的Chrome用户个人资料
  • 其他地方复制的默认配置文件
  • 只有运行时没有其他Chrome窗口被打开

我讨厌删除我的个人资料并重新安装Chrome,但这可能是我唯一的解决方案。

回答

1

我认为你需要做你害怕的事......看到这个answer。您可以export并导入您的配置文件以节省时间。

您可以尝试的另一件事是启动RemoteWebDriver而不是ChromeDriver。首先运行chromedriver.exe,然后连接到它:

from selenium import webdriver 
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 

driver = webdriver.Remote(
command_executor='http://localhost:9515/', 
desired_capabilities=DesiredCapabilities.CHROME) 

如果问题仍然reporduces,寻找一个开放issue或者是打开一个新的。

+0

固定!谢谢。 – Hugh

+0

不客气,随时欢迎! – Moshisho