无头硒突然停止工作

问题描述 投票:1回答:2

我已经使用Selenium和python进行网络刮擦了几个星期了。它一直很好用。一直在macOS和Windows 7上运行。然而,无头网络驱动程序突然停止工作。我一直在使用chromedriver,具有以下设置:

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

options = Options()
options.add_argument("--headless")
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
chrome_options.add_argument("--window-size=1920x1080")
driver = webdriver.Chrome(chrome_options=options)

driver.get('url')

最初我必须添加window,gpu和sandbox参数才能使它工作,直到现在它才能运行。但是,当运行脚本时,它会卡在driver.get('url')。它不会产生错误或任何似乎无限期运行的东西。当我没有无头跑步时,只需运行:

from selenium import webdriver
driver = webdriver.Chrome()

driver.get('url')

它完全按照预期工作。这个问题也与我的Windows机器隔离。我从哪里开始?

python selenium selenium-webdriver web-scraping
2个回答
0
投票

更新!

我做了一些测试,并意识到它似乎工作。但是,运行driver.get('url')需要很长时间才能看起来无限加载。同时它在我的macOS上完美运行,所以问题只是在windows中运行无头。以下示例需要> 10秒才能打开谷歌,然后退出。有什么可能导致这种情况?

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

options = Options()
options.add_argument("--headless")
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
chrome_options.add_argument("--window-size=1920x1080")
driver = webdriver.Chrome(options=options, executable_path=r'C:\Program Files (x86)\Python37-32\chromedriver.exe')

driver.get('http://google.com/')
print("Headless Chrome Initialized on Windows OS")

print('Hello world')
driver.quit()

0
投票

解决了

出于某种原因,代理设置正在减慢速度。因此通过添加以下内容解决了:

options.add_argument(f'--proxy-server={None}')
© www.soinside.com 2019 - 2024. All rights reserved.