0

我尝试在 Ubuntu 18 上使用 Selenium 打开 Tor 浏览器。我尝试了很多示例,但没有成功。

proxyIP = "127.0.0.1"
proxyPort = "9050"
profileTor = '/etc/tor/' # torrc
binary = os.path.expanduser("~/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/Browser/firefox")

firefox_binary = FirefoxBinary(binary)
firefox_profile = FirefoxProfile(profileTor)
proxy_address = "127.0.0.1:9050"
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': proxy_address,
 })
driver = webdriver.Firefox(firefox_binary = firefox_binary,firefox_profile=firefox_profile, proxy = proxy)

一个空白的 Tor 浏览器窗口打开,但过了一会儿我得到一个错误:

selenium.common.exceptions.WebDriverException: Message: connection refused.

我还尝试了 Firefox 二进制文件的替代方案:

启动浏览器

这会打开一个正常工作的 Tor 浏览器并显示一些索引。但是脚本停止了,除非我手动执行,否则我无法使用 Selenium 访问另一个页面。

我也尝试过:

profile.default

正如一些例子所暗示的,但我得到一个错误:

无法启动 Tor。torrc 文件丢失,无法创建。

4

1 回答 1

0

要使用 Selenium 打开 Tor 浏览器,您可以先启动Tor 守护程序,然后打开Tor 浏览器,您可以使用以下解决方案:

  • 示例 WindowsOS 样式代码块:

    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")
    
于 2018-12-11T07:16:43.047 回答