无头Chrome无法启动

时间:2018-02-10 16:40:23

标签: python google-chrome selenium headless

我有以下代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = webdriver.Chrome("chromedriver.exe", chrome_options=options)

driver.get("*some site*")

当我开始调试时,它停留在driver.get("*some site*")行。它根本不会启动任何事情。 有什么建议吗? 一切都是最新的。使用Windows 7。 编辑:使用Python 3.6

编辑2:hope its helpful

1 个答案:

答案 0 :(得分:0)

尝试使用此选项运行,对我(在我的win机器上)--no-sandbox帮助。  --log-path和verbose显然有助于调试。

ch_options.add_argument('--headless')
ch_options.add_argument('--disable-gpu')
ch_options.add_argument('--no-sandbox')
ch_options.add_argument('--log-path=chromedriver.log')
ch_options.add_argument('--verbose')

和用户代理(如果某些网站抗议):

ch_options.add_argument(
    '--user-agent="valid user agent :)"')

并开始:

driver = webdriver.Chrome(chrome_options=ch_options)

我的chromedriver在PATH环境变量中,所以不需要在这里传递可执行文件。

顺便说一句。 phantomjs驱动程序不再更新,所以尝试解决此问题并切换到chromedriver。即对我来说,phantomjs驱动程序甚至不会让我更改用户代理,只是在python绑定上。