.
搜索
相关推荐
热门标签

杭州地区:selenium-wire的原理是什么【app开发】

时间:2020-02-04 01:30:18

许多人都用过selenium,却没有用过wire,如果你接触到了它,你在类似像代理这样的功能上,以及其他功能上都会得到帮助。

具体该怎么使用它,我觉得你去它的github上查看issue或文档会更好。在这里小编也只是简单描述一下它。

为什么会有selenium-wire?

小编其实对这个库了解的仍然不够充分,不过它是基于selenium和browsermobproxy的基础上进行二开的,目前selenium的版本已经更新到3.x,在以前老版本1.x和2.x,browsermobproxy是selenium的重要支撑一环,后来升级版本的时候将它们两个拆开了,而proxy模块被单独立了一个项目,取名为browsermobproxy。

使用过selenium的朋友们都知道,它在3.x版本只能支持免验证的代理,如果通过扩展组件,我们将有机会解决代理验证的问题,不过目前来看,chrome_driver在add_extends莫名其妙的会卡死,阻塞。所以小编只好放弃这一种办法,另一种可行的方法是自己搭建本地代理(比如browsermobproxy),然后让浏览器连接这个本地代理,本地代理再连接远程代理,解决验证问题。

其实这个proxy非常强大,它不亚于nginx、haproxy这类反向代理,我们可以运用它来修改request headers,甚至之前也有朋友说通过mitmproxy去解决一些开启headless的反爬问题,不过小编认为,如果借助browsermobproxy,依然可以做到像mitmproxy一样篡改响应数据。

小编认为下面这一篇文章也能很好的帮助到你:

关于不同的webdriver驱动设置代理的方式