使用Headless Chrome Webdriver运行Selenium
问题内容:
所以我正在尝试一些硒处理方法,我真的希望它能很快。
所以我的想法是,使用无头的chrome运行它可以使我的脚本更快。
首先,该假设是正确的,还是如果我使用无头驱动程序运行脚本并不重要?
无论如何,我仍然希望它能够正常运行,但是我不知何故,我尝试了不同的方法,并且大多数人建议它可以如十月更新中所说的那样工作
如何配置ChromeDriver通过Selenium以无头模式启动Chrome浏览器?
但是当我尝试这样做时,我得到了奇怪的控制台输出,但它似乎仍然无法正常工作。
任何小费表示赞赏。
问题答案:
要运行chrome-headless,只需添加--headless
via chrome_options.add_argument
,即:
from selenium import webdriver from selenium.webdriver.chrome.options import Options
chrome_options = Options()
#chrome_options.add_argument("--disable-extensions")
#chrome_options.add_argument("--disable-gpu")
#chrome_options.add_argument("--no-sandbox") # linux only
chrome_options.add_argument("--headless")
# chrome_options.headless = True # also works
driver = webdriver.Chrome(options=chrome_options)
start_url = "https://duckgo.com"
driver.get(start_url)
print(driver.page_source.encode("utf-8"))
driver.quit()
# b'<!DOCTYPE html><html xmlns="http://www....
所以我的想法是,使用无头的chrome运行它可以使我的脚本更快。
尝试使用诸如--disable-extensions
或的chrome选项--disable-gpu
并对其进行基准测试,但我认为不会有太多改进。
参考:无头铬
注意:从今天开始,在Windows上运行chrome headless时,您 应该 包含
--disable-gpu
标志See
crbug.com/737678