Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在同一会话中将selenium webdriver从无头模式设置为正常模式?_Python_Selenium Chromedriver_Selenium Firefoxdriver_Google Chrome Headless_Firefox Headless - Fatal编程技术网

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

Python 如何在同一会话中将selenium webdriver从无头模式设置为正常模式?,python,selenium-chromedriver,selenium-firefoxdriver,google-chrome-headless,firefox-headless,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.co

将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

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

当您使用
ChromeOptions()
配置ChromeDriver实例以跨越新的Chrome浏览上下文时,配置将在ChromeDriver可执行文件中烘焙,该文件将在WebDriver的整个生命周期内保持,并且不可编辑。因此,您不能通过
ChromeOptions()
类向当前正在执行的WebDriver实例修改/添加任何现有/新配置

即使您能够从已启动的ChromeDriver和Chrome浏览会话中提取ChromeDriver和Chrome会话属性,例如会话ID
CookiesUserAgent和其他会话属性,您仍然无法更改ChromeDriver的属性集

一种更简洁的方法是在
tearDown(){}
方法中调用
driver.quit(),以关闭优雅地销毁当前的ChromeDriver和Chrome Browser实例,然后使用新的配置集跨越一组新的ChromeDriver和Chrome Browser实例


tl;博士 您可以在以下内容中找到一些相关讨论:


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

当您使用
ChromeOptions()
配置ChromeDriver实例以跨越新的Chrome浏览上下文时,配置将在ChromeDriver可执行文件中烘焙,该文件将在WebDriver的整个生命周期内保持,并且不可编辑。因此,您不能通过
ChromeOptions()
类向当前正在执行的WebDriver实例修改/添加任何现有/新配置

即使您能够从已启动的ChromeDriver和Chrome浏览会话中提取ChromeDriver和Chrome会话属性,例如会话ID
CookiesUserAgent和其他会话属性,您仍然无法更改ChromeDriver的属性集

一种更简洁的方法是在
tearDown(){}
方法中调用
driver.quit(),以关闭优雅地销毁当前的ChromeDriver和Chrome Browser实例,然后使用新的配置集跨越一组新的ChromeDriver和Chrome Browser实例


tl;博士 您可以在以下内容中找到一些相关讨论:


您可能不需要创建新实例或使用screenshots@PavanKumarTS如果出现问题,我希望能够与网页进行交互。如果我创建了一个新实例,我需要再次加载网页。Firefox的选项负责在headless中运行,只能在开始时提供。没有其他方法可以修改此选项。您可能不需要创建新实例或使用screenshots@PavanKumarTS如果出现问题,我希望能够与网页进行交互。如果我创建了一个新实例,我需要再次加载网页。Firefox的选项负责在headless中运行,这只能在开始时提供。没有其他方法可以修改它。那么,Firefox呢?那么,Firefox呢?