【问题标题】:One last hurdle with running Tor contolled by Python Selenium由 Python Selenium 控制的运行 Tor 的最后一个障碍
【发布时间】:2021-05-15 06:19:04
【问题描述】:

我使用以下代码在 Lubuntu 中运行由 Selenium 控制的 Tor:

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

torexe = os.popen(r'/home/sergey/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/Browser/firefox')
profile = FirefoxProfile(r"/home/sergey/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/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'/usr/local/bin/geckodriver')
driver.get("https://www.google.com")
...

它有效,但方式有点奇怪。运行它会打开两个窗口,一个是 Tor 的,另一个是 Firefox 的。 Selenium 仅控制 FF 窗口。 Tor 窗口只是闲置在那里。

这并不是说这会让生活变得难以忍受,正如我所说的,每件事情都有效,但我只是想知道如何“让它完全正确”(我的意思是在唯一的窗口中执行 Selenium 脚本)托尔)。

【问题讨论】:

    标签: selenium selenium-webdriver firefox tor


    【解决方案1】:

    我想通了。为了使用 Selenium 启动 Tor,请运行以下代码(它仍然会启动 Firefox,这次没有任何 Tor 窗口,但它使用 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)
    profile.set_preference("network.proxy.socks_remote_dns", False)
    profile.update_preferences()
    driver = webdriver.Firefox(profile)
    

    您可能需要添加以下三行来验证 Tor 服务是否为您的 Firefox 实例提供了新 IP:

    driver.get("http://icanhazip.com")
    current_IP = driver.find_element_by_css_selector("body > pre:nth-child(1)")
    print(current_IP.get_attribute("innerHTML"))
    

    这个网站 icanhazip.com 允许人们查看他的外部 IP,而无需通过可恶的验证码测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      • 2013-10-27
      • 2018-10-07
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      相关资源
      最近更新 更多