首页 > 解决方案 > 在远程控制(Selenium)中如何使用或启用 Tor 电路?

问题描述

实际上,我使用 Selenium 管理了 Tor 浏览器的控制,但我意识到 Tor 电路(IP 更改)未启用。那么存在一种启用它的方法吗?或者使用称为(新身份)表单代码的新功能。

我的环境是 Python 3.7、tbselenium 0.4.2 和 Tor Browser 9.0.2,谢谢大家。

标签: seleniumsecuritytor

解决方案


这是一个关于如何将 Tor 与 chrome webdriver 一起使用的示例脚本:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.proxy import Proxy, ProxyType

#tor
from stem import Signal
from stem.control import Controller

link = #some_url
prox='socks5://127.0.0.1:9150' #This connects Selenium to the Tor Port which then connects to a Tor network

while True:

    with Controller.from_port(port = 9051) as controller: #this is how you get a new Identity!
        controller.authenticate()
        controller.signal(Signal.NEWNYM)

    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('--proxy-server=%s' % prox) #sets conncection to your 9150 port aka Tor Network

    #chrome_options.add_argument('--headless') #opens headless browser
    driver = webdriver.Chrome('*path to your driver file*', chrome_options=chrome_options)
    driver.get(link)
    #perform selenium stuff

您将需要安装stem基本上是 Python 的 Tor API 的库。您还必须编辑该torrc文件。在这里你可以阅读如何做到这一切。


推荐阅读