[英]How to minimize or hide the Geckodriver in Selenium?
您必須將 firefox 驅動程序選項設置為無頭,以便最小化打開。 這是執行此操作的代碼。
fireFoxOptions = webdriver.FirefoxOptions()
fireFoxOptions.set_headless()
driver = webdriver.Firefox(firefox_options=fireFoxOptions)
如果這對您不起作用,您可以使用其他方法。 查看其他 SO 問題: How to make firefox headless in Selenium with python?
geckodriver的核心形式是使用與 W3C WebDriver 兼容的客戶端與基於 Gecko 的瀏覽器進行交互的代理。
本程序提供WebDriver協議描述的HTTP API與Gecko瀏覽器通信,如Firefox。 它通過充當本地端和遠程端之間的代理,將調用轉換為Firefox 遠程協議。
所以或多或少它就像一個服務。 所以不應該出現最小化GeckoDriver的問題。
Selenium驅動的GeckoDriver啟動firefox瀏覽上下文默認以半最大化模式打開。 也許在最小化瀏覽上下文的情況下執行測試會違反所有最佳實踐,因為Selenium可能會失去對瀏覽上下文的關注,並且在測試執行期間可能會引發異常。
然而, Selenium 的python客戶端確實有一個minimize_window()方法,它最終有效地最小化了Chrome 瀏覽上下文。
您可以使用以下解決方案:
Firefox :
from selenium import webdriver options = webdriver.FirefoxOptions() options.binary_location = r'C:\Program Files\Mozilla Firefox\firefox.exe' driver = webdriver.Firefox(firefox_options=options, executable_path=r'C:\WebDrivers\geckodriver.exe') driver.get('https://www.google.co.in') driver.minimize_window()
鉻:
from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument("--start-maximized") options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option('useAutomationExtension', False) driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe') driver.get('https://www.google.co.in') driver.minimize_window()
您可以在以下位置找到詳細的相關討論:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.