如何在 Selenium 中为 Headless Chrome 配置 ChromeDriver
在网页抓取场景中,通常需要在无头模式下执行 Chrome 浏览器以避免显示浏览器窗口。虽然 ChromeDriver 中的“无头”选项有效地阻止了浏览器窗口的显示,但它可能会使可执行文件 (.exe) 可见地运行。
问题:
当使用带有“headless”选项的 ChromeDriver 时,尽管浏览器窗口被隐藏,.exe 文件仍然可见。
代码:
from selenium import webdriver options = webdriver.ChromeOptions() options.add_experimental_option('excludeSwitches', ['ignore-certificate-errors']) options.add_argument('headless') options.add_argument('window-size=0x0') chrome_driver_path = "C:\Python27\Scripts\chromedriver.exe"
此代码初始化ChromeDriver 带有“headless”和“window-size=0x0”选项,但 .exe 文件仍然出现。
解决方案:
1.更新至 Selenium 4.x(2023-05-22 更新)
Chrome 的 Headless 模式已进行了彻底修改。对于无头/有头统一,请附加“--headless=new”参数:
from selenium.webdriver.chrome.options import Options options = Options() options.add_argument('--headless=new') driver = webdriver.Chrome(CHROMEDRIVER_PATH, options=options)
2。原始答案(2018-10-26更新)
利用ChromeOptions()的headless=True参数以headless模式启动ChromeDriver:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.headless = True driver = webdriver.Chrome(CHROMEDRIVER_PATH, options=options)
请注意,“--disable-gpu”可能也是正常操作所必需的。
以上是如何防止 ChromeDriver .exe 在 Headless Chrome 中明显运行?的详细内容。更多信息请关注PHP中文网其他相关文章!