【发布时间】:2019-08-12 01:21:15
【问题描述】:
我已经使用 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')
最初我必须添加窗口、gpu 和沙盒参数才能使其正常工作,直到现在它确实有效。但是,现在运行脚本时,它会卡在 driver.get('url') 处。它不会产生错误或任何东西似乎无限期地运行。当我在没有头的情况下运行并简单地运行时:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('url')
它完全按照预期工作。这个问题也与我的 Windows 机器隔离。我从哪里开始?
【问题讨论】:
-
您是否同时更改了 Chrome 中的某些内容(更新、配置等)或其他参数?因为最后一个例子表明headless被禁用了,而且也没有沙箱和gpu。您是否尝试过这些参数的不同组合?
-
唯一想到的是我删除了 chrome 驱动程序在 windows 上的 tmp 文件夹中创建的几 GB 文件夹。已经创建了数千个“scoped_dir”文件夹并占用了我的存储空间。那可能是什么?否则我确实尝试了这些论点的组合,但没有任何运气。
标签: python selenium selenium-webdriver web-scraping