2015-10-26 2 views
0

Задача состоит в том, чтобы автоматизировать некоторые действия браузера с помощью определенного сетевого интерфейса (в Linux). , так как мне нужно инициировать видео на странице - я выбираю selenium (python) и делаю все рутину для воспроизведения видео с использованием селена, но приложение проходит через интерфейс по умолчанию. вопрос - как заставить хром использовать, например, tun0? примечание: я видел похожие вопросы/ответы, но не смог решить свою проблему из-за отсутствия опыта программирования на Linux. если возможно, предоставьте пошаговое руководство, спасибо.привязывает трафик от selenium_webdriver (chrome) к определенному сетевому интерфейсу/туннелю

+1

я нашел [решение] (https://daniel-lange.com/archives/53-Binding-applications-to-a-specific -IP.html), чтобы сделать веб-браузер для использования определенного IP.-BIND_ADDR = 10.254.64.21 LD_PRELOAD =/usr/lib/bind.so firefox, эта команда запускает новый экземпляр FF, и он использует конкретное net_iface однако I не может привязать его к webdriver, то есть начать как часть selenium code-driver = webdriver.Chrome(), который также инициирует веб-браузер, который использует defaul net_iface. QUESTION- как заставить эти две команды работать вместе? – 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

 Смежные вопросы

  • Нет связанных вопросов^_^