在Splinter / Selenium
this was said not to be possible的旧版本中.几年后这个答案声称它是
is possible with JavaScript,但这段代码对我不起作用(我可能只是将它翻译成Python).
This answer closes浏览器然后重新打开它,我需要窗口/浏览器保持打开状态.
使用像FoxyProxy这样的插件,它很容易即时更改代理,但我不认为Selenium可以与插件交互,因为它们是页面元素?
由于Splinter被设计为Selenium的一个不那么详细的包装器,如果有一个简单的方法可以实现这一点,那将是非常棒的.话虽如此,任何黑客只是拥有这个功能将不胜感激.
解决方法
您需要像下面一样使用它
browser.visit("about:config") script = """ var prefs = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefBranch); prefs.setIntPref("network.proxy.type",1); prefs.setCharPref("network.proxy.http","{0}"); prefs.setIntPref("network.proxy.http_port","{1}"); prefs.setCharPref("network.proxy.ssl","{0}"); prefs.setIntPref("network.proxy.ssl_port","{1}"); prefs.setCharPref("network.proxy.ftp","{0}"); prefs.setIntPref("network.proxy.ftp_port","{1}"); """ browser.execute_script(script.format("ProxyIP","PORT"))
PS:积分到Python Selenium Webdriver – Changing proxy settings on the fly
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。