selenium - 在远程控制(Selenium)中如何使用或启用 Tor 电路?
问题描述
实际上,我使用 Selenium 管理了 Tor 浏览器的控制,但我意识到 Tor 电路(IP 更改)未启用。那么存在一种启用它的方法吗?或者使用称为(新身份)表单代码的新功能。
我的环境是 Python 3.7、tbselenium 0.4.2 和 Tor Browser 9.0.2,谢谢大家。
解决方案
这是一个关于如何将 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
文件。在这里你可以阅读如何做到这一切。
推荐阅读
- angular - 模板不使用异步管道呈现 observable
- javascript - 如何使用 d3.js 拖动和旋转正交地图(地球)
- php - 使用dropzone时如何显示回声
- c# - 如何为新的用户实例添加默认角色;
- php - PHP / SQLITE3 问题
- java - 如何在 RecyclerView 的 ViewHolder 中正确实例化 mContentView,避免空对象引用?
- caching - 在 SSRS 中缓存参数的不同实例
- c++ - ZLib Gzip API 的 EOF 检测?
- wordpress - 使用 ACF 关系选项字段订购木柱
- machine-learning - 使用 talos 进行网格搜索:传递输入列表错误