Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
使用Selenium和Python定义webdriver后如何更改firefox配置文件首选项_Python_Selenium_Firefox_User Agent_Firefox Profile - Fatal编程技术网

使用Selenium和Python定义webdriver后如何更改firefox配置文件首选项

使用Selenium和Python定义webdriver后如何更改firefox配置文件首选项,python,selenium,firefox,user-agent,firefox-profile,Python,Selenium,Firefox,User Agent,Firefox Profile,定义驱动程序后如何更改配置文件首选项 profile = webdriver.FirefoxProfile() driver = webdriver.Firefox(firefox_profile=profile) 一些代码之后需要设置useragent profile.set_preference("general.useragent.override", ua) 如何在不定义新驱动程序的情况下设置它?我认为这是不可能的,但我发现本文中介绍了一些解决方法,但不确定这些

定义驱动程序后如何更改配置文件首选项

profile = webdriver.FirefoxProfile()

driver = webdriver.Firefox(firefox_profile=profile)
一些代码之后需要设置useragent

profile.set_preference("general.useragent.override", ua)

如何在不定义新驱动程序的情况下设置它?

我认为这是不可能的,但我发现本文中介绍了一些解决方法,但不确定这些方法是否可靠(或是否有效):

根据的当前实现,一旦使用特定功能配置并初始化会话以打开浏览上下文,则无法更改运行时的功能。即使您能够检索到运行时功能,您仍然无法将其更改回来

因此,为了更改Firefox用户偏好,您必须启动一个新的WebDriver会话

注意:但是,您可以在每次运行时更改Firefox的设置,您可以在中找到相关的讨论


参考文献 以下是与代理设置功能相关的@JimEvans(截至2013年10月24日13:02):

为任何给定驱动程序设置代理时,仅在创建WebDriver会话时设置代理;它不能在运行时更改。即使您获得了所创建会话的功能,也无法更改它。因此,答案是,不,如果要使用不同的代理设置,必须启动新会话


奥特罗 您可以在以下内容中找到一些相关的详细讨论: