将硒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
答案 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
您可以在How can I reconnect to the browser opened by webdriver with selenium?
中找到相关的讨论