如何在同一会话中将Selenium Webdriver从无头模式设置为普通模式?

时间:2019-02-16 09:30:26

标签: python selenium-chromedriver selenium-firefoxdriver google-chrome-headless firefox-headless

将硒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

1 个答案:

答案 0 :(得分:2)

,将无法使Chrome最初以 headless 模式运行,然后在同一会话中切换回普通模式。

使用 ChromeOptions 配置 ChromeDriver 的实例以跨越新的 Chrome浏览器会话时, ChromeDriver < / em>在 ChromeDriver 的整个生存期中保持不变,并且保持不可编辑。因此,您无法通过 ChromeOptions 类将任何现有的/新的配置修改/添加到当前正在执行的 WebDriver 实例中。< / p>

即使您能够提取 ChromeDriver ChromeSession 属性,例如 会话ID Cookies UserAgent 已启动的 ChromeDriver Chrome浏览器会话中的会话属性,您仍然无法更改 ChromeDriver 的属性集。 / p>

一种更干净的方法是在driver.quit()方法中调用 tearDown(){} 关闭销毁当前的< em> ChromeDriver Chrome浏览器实例,然后跨越一组新的 ChromeDriver Chrome浏览器实例以及一组新的配置。

  

您可以在How can I reconnect to the browser opened by webdriver with selenium?

中找到相关的讨论