簡體   English   中英

如何最小化或隱藏 Selenium 中的 Geckodriver?

[英]How to minimize or hide the Geckodriver in Selenium?

這就是我所擁有的:


from selenium import webdriver
driver = webdriver.Firefox()

如何讓geckodriver打開最小化或隱藏?

您必須將 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的問題。


最小化Mozilla Firefox瀏覽器

Selenium驅動的GeckoDriver啟動瀏覽上下文默認以半最大化模式打開。 也許在最小化瀏覽上下文的情況下執行測試會違反所有最佳實踐,因為Selenium可能會失去對瀏覽上下文的關注,並且在測試執行期間可能會引發異常。

然而, Selenium 的客戶端確實有一個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()

參考

您可以在以下位置找到詳細的相關討論:


tl; 博士

如何使用 python 在 Selenium 中以編程方式使 firefox 無頭?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM