繁体   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