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

javascript – 更改代理设置而不关闭Selenium/Splinter中的驱动程序

在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 举报,一经查实,本站将立刻删除。

相关推荐


什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据复制操作的两种方式。‌在聊深浅拷贝之前咱得了解一下js中的两种数据类型:
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:重建二叉树、反向输出链表每个节点 题目 重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 {1,2,4,7,3,5,6,8} 和中序遍历序列 {
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须了解的知识点,现在迎来了ES6+的时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,所以刚好总结一下JavaScript中this指向的问题。
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高