jon*_*bon 8 javascript selenium python-3.x splinter
在较早版本的Splinter/Selenium中,据说这是不可能的.几年后这个答案声称它可以使用JavaScript,但是这段代码对我不起作用(我可能只是将它转换为Python).这个答案关闭浏览器,然后重新打开它,我需要窗口/浏览器保持打开状态.
使用像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"))
Run Code Online (Sandbox Code Playgroud)
PS:归功于Python Selenium Webdriver - 动态更改代理设置
| 归档时间: |
|
| 查看次数: |
387 次 |
| 最近记录: |