我想使用tbselenium软件包在Linux Mint机器上实现浏览器自动化。 当我尝试运行应该可以运行python的代码时,出现错误消息:
tbselenium.exceptions.TBDriverPortError: SOCKS port 9050 is not listening
我要使用的代码是:
from tbselenium.tbdriver import TorBrowserDriver
import time
with TorBrowserDriver("/home/sas/Videos/tor-browser_en-US/") as driver:
driver.get("https://github.com/mozilla/geckodriver")
有人知道这是为什么吗? 答案不正确:)
编辑: 我唯一打开的端口是5060
答案 0 :(得分:0)
您可以尝试运行apt get install tor
来下载Tor服务,然后只需在终端中运行tor
即可在端口9050上启动代理(默认情况下)。
现在,您需要配置firefox驱动程序以通过tor实例代理http请求。
from selenium import webdriver
fp = webdriver.FirefoxProfile()
fp.set_preference("network.proxy.type", 1)
fp.set_preference("network.proxy.http", "127.0.0.1")
fp.set_preference("network.proxy.http_port", 9050)
fp.set_preference("network.proxy.https", "127.0.0.1")
fp.set_preference("network.proxy.https_port", 9050)
driver = webdriver.Firefox(firefox_profile=fp)
driver.get("https://google.com")
如果您想以这种方式使用tbselenium
包,我认为您将无法使用它,但这没关系。
如果您无法正常工作,请告诉我您正在收到什么错误。
答案 1 :(得分:0)
在运行此“基本用法”示例(https://github.com/webfp/tor-browser-selenium)时,我遇到了同样的问题(SOCKS port 9050 is not listening
):
from tbselenium.tbdriver import TorBrowserDriver
with TorBrowserDriver("/path/to/TorBrowserBundle/") as driver:
driver.get('https://check.torproject.org')
以下命令解决了该问题:
sudo service tor restart