Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Accessing Tor with Selenium in Python

I've tried a multitude of solutions to this, but so far haven't had any luck. I'm trying to access the tor browser using selenium in python, but when my program opens up Tor, Tor gives me an error message saying:

Tor failed to start.  

Python then gives the following error message:

selenium.common.exceptions.WebDriverException: Message: permission denied

My code is the following:

binary = FirefoxBinary(r"C:\\Users\\User\\Desktop\\Tor Browser\\Browser\\firefox.exe")
profile = FirefoxProfile(r"C:\\Users\\User\\Desktop\\Tor Browser\\Browser\\TorBrowser\\Data\\Browser\\profile.default")

driver = webdriver.Firefox(firefox_binary=binary)
driver = webdriver.Firefox(firefox_profile= profile, firefox_binary= binary, executable_path = r"C:\\Users\\User\\Desktop\\geckodriver.exe")
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', 9150)
profile.set_preference("network.proxy.socks_remote_dns", False)
profile.update_preferences()
driver.get("http://yahoo.com")

Any help on this would be greatly appreciated!

like image 542
thatguy1775 Avatar asked Dec 09 '18 19:12

thatguy1775


1 Answers

To access the Tor browser using Selenium through Python you can use the following solution:

from selenium import webdriver
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
import os

torexe = os.popen(r'C:\Users\AtechM_03\Desktop\Tor Browser\Browser\TorBrowser\Tor\tor.exe')
profile = FirefoxProfile(r'C:\Users\AtechM_03\Desktop\Tor Browser\Browser\TorBrowser\Data\Browser\profile.default')
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)
profile.set_preference("network.proxy.socks_remote_dns", False)
profile.update_preferences()
driver = webdriver.Firefox(firefox_profile= profile, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
driver.get("http://check.torproject.org")
like image 184
undetected Selenium Avatar answered Nov 14 '22 23:11

undetected Selenium