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)
不,不可能让 Chrome 最初在无头模式下运行,然后在同一会话中切换回正常模式。
当您配置的实例ChromeDriver与ChromeOptions()跨越一个新的Chrome浏览器上下文的配置被烘烤的内chromedriver的可执行文件,将在该次的寿命webdriver的并且是不可编辑。因此,您无法通过类修改/添加任何现有/新配置到当前正在执行ChromeOptions()的WebDriver实例。
即使您能够从已经启动的ChromeDriver和Chrome 浏览会话中提取ChromeDriver和ChromeSession属性,例如Session ID、Cookies、UserAgent和其他会话属性,您仍然无法更改ChromeDriver的属性集。
一种更简洁的方法是driver.quit()在tearDown(){}方法内调用以优雅地关闭和销毁当前的ChromeDriver和Chrome 浏览器实例,然后使用新的配置集跨越一组新的ChromeDriver和Chrome 浏览器实例。
您可以在以下位置找到一些相关讨论: