微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Selenium和Python定义网络驱动程序后,如何更改firefox配置文件首选项

如何解决使用Selenium和Python定义网络驱动程序后,如何更改firefox配置文件首选项

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

profile = webdriver.FirefoxProfile()

driver = webdriver.Firefox(firefox_profile=profile)

一些代码需要设置useragent后

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

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

解决方法

我相信这是不可能的,但是我发现了本文中介绍的一些变通办法,不确定这些方法是否可靠(或根本无法工作):https://tarunlalwani.com/post/change-profile-settings-at-runtime-firefox-selenium/

,

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

因此,为了更改 Firefox用户首选项,您必须启动一个新的 WebDriver 会话。

注意:但是,您可以在每次运行时更改Firefox的,并可以在How to change user agent for Firefox webdriver in Python?

中找到相关的讨论。

参考

以下是@JimEvans clear and concise comment(截至13年10月24日,13:02)与代理设置功能有关:

为任何给定的驱动程序设置代理时,仅在创建WebDriver会话时才进行设置;它不能在运行时更改。即使您具有创建的会话的功能,也将无法更改它。因此,答案是,不,如果要使用其他代理设置,则必须开始新的会话。


Outro

您可以在以下位置找到几个相关的详细讨论:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。