2015-10-26 31 views
0

任务是通过特定的网络接口(在linux)自动执行某些浏览器活动。 因为我需要在页面上启动视频 - 我选择硒(python),并使所有例程使用硒进行视频播放,但应用程序会通过默认界面。 问题 - 如何强制chrome使用例如tun0? 注:我看过类似的问题/答案,但由于缺乏Linux编程经验,无法解决我的问题。如有可能请提供一步一步的指导,谢谢。将流量从selenium_webdriver(chrome)绑定到特定的网络接口/隧道

+1

我发现[解决方案](https://daniel-lange.com/archives/53-Binding-applications-to-a-specific -IP.html)使Web浏览器使用特定的IP.-BIND_ADDR = 10.254.64.21 LD_PRELOAD =/usr/lib/bind.so firefox,该命令启动FF的新实例,并使用特定的net_iface 但是,I无法将其链接到webdriver,即作为selenium代码驱动程序= webdriver.Chrome()的一部分启动,该驱动程序也启动web-broser,它使用defaul net_iface。 问题 - 如何使这两个命令一起工作? – bay

+0

你解决了吗? – 1a1a11a

回答

0

为了得到它为Firefox的工作,我也跟着https://daniel-lange.com/archives/53-Binding-applications-to-a-specific-IP.html创建/usr/lib/bind.so

然后我砍死/usr/lib/python2.6/site-packages/selenium/webdriver/firefox /firefox_binary.py改为如下:

#self._firefox_env['LD_PRELOAD'] = self.NO_FOCUS_LIBRARY_NAME 
self._firefox_env['LD_PRELOAD'] = "/usr/lib/bind.so" 
self._firefox_env['BIND_ADDR'] = "198.58.118.236" 

注释掉的行是原始行。

对于Chrome浏览器,它看起来像你会砍self.env = env在service.py

相关问题