Связывание Python Selenium с браузером TOR

Я исследовал это, но я получаю это решение:

from selenium import webdriver profile = webdriver.FirefoxProfile() profile.set_preference('network.proxy.type', 1) profile.set_preference('network.proxy.socks', '127.0.0.1') profile.set_preference('network.proxy.socks_port', 9050) driver = webdriver.Firefox(profile) driver.get('http://estoeslapollaconcebol.la') 

Это дает такую ​​ошибку:

Не удается загрузить профиль. Профиль Dir: C: \ Users \ HPPAV1 ~ 1 \ AppData \ Local \ Temp \ tmppcuwx3xd Выход Firefox: нет

Когда я попробую это решение.

 from selenium import webdriver from selenium.webdriver.firefox.firefox_binary import FirefoxBinary profile=webdriver.FirefoxProfile('C:\\Users\\HP PAV 15\\Desktop\\Tor Browser\\Browser\\TorBrowser\\Data\\Browser\\profile.default\\') binary =FirefoxBinary('C:\\Users\\HP PAV 15\\Desktop\\Tor Browser\\Browser\\firefox') #browser = binary.launch_browser(profile) profile.set_preference('network.proxy.type', 1) profile.set_preference('network.proxy.socks', '127.0.0.1') profile.set_preference('network.proxy.socks_port', 9150) browser=webdriver.Firefox( binary, profile) browser.get("http://yahoo.com") browser.save_screenshot("/Users/admin/Pictures/screenshot.png") browser.close() 

Это дает мне следующую ошибку:

Traceback (последний последний вызов): Файл «C: /Python34/torfirstscript.py», строка 10, в браузере = webdriver.Firefox (двоичный, профиль) Файл «C: \ Python34 \ lib \ site-packages \ selenium-2.43 .0-py3.4.egg \ selenium \ webdriver \ firefox \ webdriver.py ", строка 46, в init self.NATIVE_EVENTS_ALLOWED и self.profile.native_events_enabled) AttributeError: объект 'FirefoxBinary' не имеет атрибута 'native_events_enabled'

Применяя

 browser=webdriver.Firefox( firefox_binary = binary, firefox_profile = profile) 

Я получил эту ошибку:

Traceback (последний последний вызов): Файл «C: \ Python34 \ torfirstscript.py», строка 9, в браузере = webdriver.Firefox (firefox_binary = binary, firefox_profile => profile) Файл «C: \ Python34 \ lib \ site- пакеты \ selenium-2.43.0-> py3.4.egg \ selenium \ webdriver \ firefox \ webdriver.py ", строка 59, в init self.binary, timeout), файл" C: \ Python34 \ lib \ site-packages \ selenium-2.43.0-> py3.4.egg \ selenium \ webdriver \ firefox \ extension_connection.py ", строка 47, в> init self.binary.launch_browser (self.profile) Файл« C: \ Python34 \ lib \ site-packages \ selenium-2.43.0-> py3.4.egg \ selenium \ webdriver \ firefox \ firefox_binary.py ", строка 64, в launch_browser self._wait_until_connectable () Файл" C: \ Python34 \ lib \ site-packages \ selenium-2.43.0-py3.4.egg \ selenium \ webdriver \ firefox \ firefox_binary.py ", строка 108, в _wait_until_connectable self.profile.path, self._get_firefox_output ())) selenium.common.exceptions.WebDriverException: Сообщение: «Невозможно загрузить профиль. Профиль Dir:> C: \ Users \ HPPAV1 ~ 1 \ AppData \ Local \ Temp \ tmpig7zvx_0 \ webdriver -py-profilecopy Выход Firefox: None "

с этим изображением в качестве выхода.

введите описание изображения здесь

6 Solutions collect form web for “Связывание Python Selenium с браузером TOR”

Рабочий пример с Selenium и Tor на окнах:

 from selenium import webdriver from selenium.webdriver.firefox.firefox_profile import FirefoxProfile from selenium.webdriver.firefox.firefox_binary import FirefoxBinary binary = FirefoxBinary(r"C:\Program Files (x86)\TorBrowser\Browser\firefox.exe") profile = FirefoxProfile(r"C:\Program Files (x86)\TorBrowser\Browser\TorBrowser\Data\Browser\profile.default") driver = webdriver.Firefox(profile, binary) driver.get("http://stackoverflow.com") driver.save_screenshot("screenshot.png") driver.quit() 

Обновите селен, используя:

 pip install -U selenium 

Затем запустите свой код, после запуска TOR, конечно. Эта ошибка была подтверждена и отремонтирована.

PS: Не забудьте «Sudo», если вы находитесь в Linux.

Вы FirefoxBinary экземпляр FirefoxBinary в качестве первого позиционного аргумента для конструктора Firefox , но, согласно определению , Firefox ожидает, FirefoxProfile экземпляр FirefoxProfile первым позиционным аргументом.

Вместо этого просто используйте аргументы ключевого слова:

 browser = webdriver.Firefox(firefox_binary=binary, firefox_profile=profile) 

И это дает небольшой бонус к удобочитаемости.

Код для последней установки TOR в Windows:

 from selenium import webdriver from selenium.webdriver.firefox.firefox_profile import FirefoxProfile from selenium.webdriver.firefox.firefox_binary import FirefoxBinary binary = FirefoxBinary(r"C:\Users\<Windows User>\Desktop\Tor Browser\Browser\firefox.exe") profile = FirefoxProfile(r"C:\Users\<Windows User>\Desktop\Tor Browser\Browser\TorBrowser\Data\Browser\profile.default") driver = webdriver.Firefox(profile, binary) driver.get("http://stackoverflow.com") 

Я решил свою аналогичную проблему в Windows:

 from selenium import webdriver from selenium.webdriver.firefox.firefox_profile import FirefoxProfile from selenium.webdriver.firefox.firefox_binary import FirefoxBinary binary = FirefoxBinary(r"C:\Users\<Windows User>\Desktop\Tor Browser\Browser\firefox.exe") driver = webdriver.Firefox(firefox_binary=binary) driver.profile.set_preference('network.proxy.type', 1) driver.profile.set_preference('network.proxy.socks', '127.0.0.1') driver.profile.set_preference('network.proxy.socks_port', 9051) driver.get("http://stackoverflow.com") 

Я пробовал что-то вроде этого и работал:

 profile = webdriver.FirefoxProfile() profile.set_preference('network.proxy.type', 1) profile.set_preference('network.proxy.socks', '127.0.0.1') profile.set_preference('network.proxy.socks_port', 9150) driver = webdriver.Firefox(profile) 

Откройте браузер Tor, пока вы это делаете

  • Генерирование private_key и имени хоста для скрытой службы Tor, в python
  • Python ssh с использованием Tor proxy
  • IP остается неизменным
  • Открыть браузер с селеном
  • Tor не работает с urllib2
  • Tor, Stem и Sockets - Изменение идентичности с TOR
  • Tor Stem - В Россию с любовью
  • Как сделать HTTP-запрос через прокси-сервер (tor) с помощью python?
  • Python - лучший язык программирования в мире.