Python Selenium vinculante con el navegador TOR

Lo investigué pero obtengo esa solución:

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') 

Da ese error:

No se puede cargar el perfil. Perfil Dir .: C: \ Users \ HPPAV1 ~ 1 \ AppData \ Local \ Temp \ tmppcuwx3xd Salida de Firefox: Ninguna

Cuando bash esa solución.

 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() 

Me da el siguiente error:

Seguimiento (última llamada más reciente): Archivo “C: /Python34/torfirstscript.py”, línea 10, en browser = webdriver.Firefox (binario, perfil) Archivo “C: \ Python34 \ lib \ site-packages \ selenium-2.43 .0-py3.4.egg \ selenium \ webdriver \ firefox \ webdriver.py “, línea 46, en init self.NATIVE_EVENTS_ALLOWED and self.profile.native_events_enabled) Atributo: Error: ‘FirefoxBinary’ objeto no tiene atributo ‘native_events_enabled’

Aplicando

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

Tengo este error

Seguimiento (última llamada más reciente): Archivo “C: \ Python34 \ torfirstscript.py”, línea 9, en browser = webdriver.Firefox (firefox_binary = binary, firefox_profile => profile) Archivo “C: \ Python34 \ lib \ site- packages \ selenium-2.43.0-> py3.4.egg \ selenium \ webdriver \ firefox \ webdriver.py “, línea 59, en init self.binary, timeout), Archivo” C: \ Python34 \ lib \ site-packages \ selenium-2.43.0-> py3.4.egg \ selenium \ webdriver \ firefox \ extension_connection.py “, línea 47, en> init self.binary.launch_browser (self.profile) Archivo” C: \ Python34 \ lib \ site-packages \ selenium-2.43.0-> py3.4.egg \ selenium \ webdriver \ firefox \ firefox_binary.py “, línea 64, en launch_browser self._wait_until_connectable () Archivo” C: \ Python34 \ lib \ site-packages \ selenium-2.43.0-py3.4.egg \ selenium \ webdriver \ firefox \ firefox_binary.py “, línea 108, en _wait_until_connectable self.profile.path, self._get_firefox_output ())) selenium.common.exceptions.WebDriverException: Mensaje: “No se puede cargar el perfil. Perfil Dir:> C: \ Users \ HPPAV1 ~ 1 \ AppData \ Local \ Temp \ tmpig7zvx_0 \ webdriver -py-profilecopy salida de Firefox: Ninguna ”

con esa imagen como salida.

introduzca la descripción de la imagen aquí

Un ejemplo de trabajo con selenium y tor en 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:\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() 

Actualizar el selenium usando:

 pip install -U selenium 

Luego ejecute su código, después de iniciar TOR, por supuesto. Este error fue reconocido y reparado.

PD: No olvides ‘Sudo’ si estás en Linux.

Usted está pasando una instancia de FirefoxBinary como el primer argumento posicional al constructor de Firefox , pero, según la definición , Firefox espera que la instancia de FirefoxProfile sea ​​el primer argumento posicional.

En su lugar, simplemente use argumentos de palabras clave:

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

Y esto le da una pequeña ventaja a la legibilidad.

Código para la última instalación de TOR en 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\\Desktop\Tor Browser\Browser\firefox.exe") profile = FirefoxProfile(r"C:\Users\\Desktop\Tor Browser\Browser\TorBrowser\Data\Browser\profile.default") driver = webdriver.Firefox(profile, binary) driver.get("http://stackoverflow.com") 

Resolví mi problema similar en 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\\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") 

Probé algo como esto, y trabajé:

 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) 

Abre el navegador Tor mientras haces esto