来自这个网站 http://www.thedurkweb.com/automated-anonymous-interactions-with-websites-using-python-and-tor/
我做了以下代码
enter code here
import stem.process
from stem import Signal
from stem.control import Controller
from splinter import Browser
proxyIP = "127.0.0.1"
proxyPort = 9150
proxy_settings = {"network.proxy.type": 1,
"network.proxy.ssl": proxyIP,
"network.proxy.ssl_port": proxyPort,
"network.proxy.socks": proxyIP,
"network.proxy.socks_port": proxyPort,
"network.proxy.socks_remote_dns": True,
"network.proxy.ftp": proxyIP,
"network.proxy.ftp_port": proxyPort
}
browser = Browser('firefox', profile_preferences=proxy_settings)
browser.visit("http://www.icanhazip.com")
没有工作。只是得到这些错误
追踪(最近一次通话): 文件" C:\ Users \ User \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py",第74行,开始 stdout = self.log_file,stderr = self.log_file) 文件" C:\ Users \ User \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ subprocess.py",第947行, init restore_signals,start_new_session) 文件" C:\ Users \ User \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ subprocess.py",第1224行,在_execute_child中 STARTUPINFO) FileNotFoundError:[WinError 2]系统找不到指定的文件
在处理上述异常期间,发生了另一个异常:
追踪(最近一次通话): 文件" C:/Users/User/PycharmProjects/LittleBot/Main.py" ;,第15行,在 browser =浏览器(' firefox',profile_preferences = proxy_settings) 文件" C:\ Users \ User \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ site-packages \ splinter \ browser.py",第63行,在浏览器中 返回驱动程序(* args,** kwargs) 文件" C:\ Users \ User \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ site-packages \ splinter \ driver \ webdriver \ firefox.py",第48行,初始化 超时=超时) 文件" C:\ Users \ User \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ site-packages \ selenium \ webdriver \ firefox \ webdriver.py",第140行,初始化 self.service.start() 文件" C:\ Users \ User \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py",第81行,开始 os.path.basename(self.path),self.start_error_message) selenium.common.exceptions.WebDriverException:消息:' geckodriver'可执行文件需要在PATH中。
在:>中忽略了异常 Traceback(最近一次调用最后一次): 文件" C:\ Users \ User \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py",第173行,德尔 self.stop的() 文件" C:\ Users \ User \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py",第145行,停止 如果self.process是None: AttributeError:'服务'对象没有属性' process'
使用退出代码1完成处理
我安装了网页上请求的所有库,甚至做了 - 升级selenium的东西,希望摆脱错误。 有什么方法可以解决这个问题吗? 到目前为止,我所知道的是程序运行得很好,直到浏览器=浏览器(' firefox',profile_preferences = proxy_settings)'发生。 Tor浏览器也是开放的,所以没有问题。 一直在寻找一个半小时的解决方案,我已经尝试了与此主题相关的所有内容。
答案 0 :(得分:0)
修正了它 pip install selenium == 2.53.6 Selenium想要介绍一些壁虎的东西,这是搞乱一切。 希望这对其他人有用。
答案 1 :(得分:-1)
要在Firefox中使用selenium 3.x,您必须安装geckodriver。 发布的官方网站位于:https://github.com/mozilla/geckodriver/releases
来自selenium python docs:
" Selenium需要驱动程序与所选浏览器进行交互。 例如,Firefox需要geckodriver,这需要 安装之前可以运行以下示例。确保它在你的 路径,e。例如,将其放在/ usr / bin或/ usr / local / bin。
如果不遵守此步骤,则会出错 selenium.common.exceptions.WebDriverException:消息:'geckodriver' 可执行文件需要在PATH中。"
答案 2 :(得分:-2)
如果您使用的是最新的selenium和最新的Firefox 1.下载最新的geckodriver 2.打开浏览器,隐藏它。 3.运行代码:
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.firefoc.firefox_profile import FirefoxProfile
binary = FirefoxBinary('C:/Program Files(x86)/Mozilla Firefox/firefox.exe')
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', 9150)
driver = webdriver.Firefox(firefox_binary = binary, firefox_profile = profile, executable_path='path/to/geckodriver.exe')
driver.get('https://check.torproject.org')