задачата е да автоматизирате някои дейности на браузъра чрез специфичен мрежов интерфейс (в linux). тъй като трябва да стартирам видео на страницата - избрах селен (python) и направих цялата рутина, за да направя възпроизвеждане на видео с помощта на селен, но приложението преминава през интерфейс по подразбиране. въпрос - как да принудя chrome да използва например tun0? забележка: Виждал съм подобен въпрос/отговори, но не успях да реша проблема си поради липса на опит в програмирането на Linux. ако е възможно, дайте ръководство стъпка по стъпка, благодаря.
свързване на трафик от selenium_webdriver(chrome) към конкретен мрежов интерфейс/тунел
comment
Намерих [решение] (daniel-lange. com/archives/), за да накара уеб браузъра да използва конкретен IP.-BIND_ADDR=10.254.64.21 LD_PRELOAD=/usr/lib/bind.so firefox, тази команда стартира нов екземпляр на FF и използва специфичен net_iface , не мога да го свържа с webdriver, т.е. да стартирам като част от selenium code-driver = webdriver.Chrome(), който също е инициативен уеб-браузър, който използва net_iface по подразбиране. ВЪПРОС - как да накарам тези две команди да работят заедно?
- person bay   schedule 27.10.2015
Отговори (1)
За да го накарам да работи за 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
person
Eric Klien
schedule
17.05.2017