python - 在 Python 中使用 Selenium 访问 Tor
问题描述
我已经尝试了多种解决方案,但到目前为止还没有任何运气。我正在尝试在 python 中使用 selenium 访问 tor 浏览器,但是当我的程序打开 Tor 时,Tor 给了我一条错误消息:
Tor failed to start.
然后 Python 给出以下错误消息:
selenium.common.exceptions.WebDriverException: Message: permission denied
我的代码如下:
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")
对此的任何帮助将不胜感激!
解决方案
要通过Python使用Selenium访问Tor浏览器,您可以使用以下解决方案:
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")
推荐阅读
- python - youtube-dl 和使用它的工具也出错。可能与aria2c有关?
- jenkins - 我们如何使用 `cypress-tags` 在 Jenkins 管道中运行 cypress 测试
- reactjs - 在一个数组中有 2 种形式的字符串,并在 React JS 的运行时动态地在它们之间进行转换
- sql - 带有过滤器的 SQL 查询
- python - 声明和分配给全局变量的语法错误
- lstm - 针对真实图像评估经过训练的生成图像 Tesseract 4 LSTM 模型
- javascript - 这是哪种时间戳格式,例如:20180130T043000Z
- python - 使用熊猫将csv文件中的列范围分配给变量
- c# - 使用 InvokeMember 使用 DLL 的问题:会话混合(覆盖)
- angular - Angular - 错误:初始超出最大预算。预算 5.00 MB 未达到 197.06 kB 总共 5.19 MB