如何在同一会话中将 selenium webdriver 从无头模式设置为正常模式?

Myk*_*tko 5 python selenium-chromedriver selenium-firefoxdriver google-chrome-headless firefox-headless

将 selenium webdriver 设置为无头模式后是否可以将其设置回正常模式?

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.headless = True
driver = webdriver.Firefox(options=options)
driver.get(http://stackoverflow.com)

# set driver back to normal mode
Run Code Online (Sandbox Code Playgroud)

Deb*_*anB 7

,不可能让 Chrome 最初在无头模式下运行,然后在同一会话中切换回正常模式。

当您配置的实例ChromeDriverChromeOptions()跨越一个新的Chrome浏览器上下文的配置被烘烤的内chromedriver的可执行文件,将在该次的寿命webdriver的并且是不可编辑。因此,您无法通过类修改/添加任何现有/新配置到当前正在执行ChromeOptions()WebDriver实例。

即使您能够从已经启动的ChromeDriverChrome 浏览会话中提取ChromeDriverChromeSession属性,例如Session IDCookiesUserAgent和其他会话属性,您仍然无法更改ChromeDriver的属性

一种更简洁的方法是driver.quit()tearDown(){}方法内调用以优雅地关闭销毁当前的ChromeDriverChrome 浏览器实例,然后使用新的配置集跨越一组新的ChromeDriverChrome 浏览器实例。


tl; 博士

您可以在以下位置找到一些相关讨论:

  • 那么,火狐呢? (2认同)