如何在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中文網其他相關文章!