一尘不染

使用Headless Chrome Webdriver运行Selenium

selenium

所以我正在尝试一些selenium处理方法,我真的希望它能很快。

所以我的想法是,使用无头的chrome运行它可以使我的脚本更快。

首先,该假设是正确的,还是如果我使用无头驱动程序运行脚本并不重要?

无论如何,我仍然希望它能够正常运行,但是我不知何故,我尝试了不同的方法,并且大多数人建议它可以按照十月更新中的说明工作

但是当我尝试这样做时,我得到了奇怪的控制台输出,但它似乎仍然无法正常工作。

任何小费表示赞赏。


阅读 327

收藏
2020-06-26

共1个答案

一尘不染

要运行chrome-headless,只需添加--headlessvia 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

2020-06-26