我试图将phantomJS与硒和Tor一起使用。我有以下内容:
from selenium import webdriver
service_args = [
'--proxy=127.0.0.1:9050',
' --proxy-type=socks5',
]
driver = webdriver.PhantomJS(service_args = service_args)
每次尝试连接时,都会收到以下错误消息:
WebDriverException Traceback (most recent call last)
<ipython-input-2-98e27eb2ae26> in <module>()
4 ' --proxy-type=socks5',
5 ]
----> 6 driver = webdriver.PhantomJS(service_args = service_args)
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs /webdriver.pyc in __init__(self, executable_path, port, desired_capabilities, service_args, service_log_path)
49 self.service = Service(executable_path, port=port,
50 service_args=service_args, log_path=service_log_path)
---> 51 self.service.start()
52
53 try:
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.pyc in start(self)
83 count = 0
84 while True:
---> 85 self.assert_process_still_running()
86 if self.is_connectable():
87 break
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.pyc in assert_process_still_running(self)
96 raise WebDriverException(
97 'Service %s unexpectedly exited. Status code was: %s'
---> 98 % (self.path, return_code)
99 )
100
WebDriverException: Message: Service phantomjs unexpectedly exited. Status code was: 255
PhantomJS和Selenium可以正常使用Tor参数。任何帮助实现这项工作将不胜感激!
答案 0 :(得分:3)
这是一个旧的,但我来到这里,因为我搜索了你想要做的事情。
当我执行你的代码时,我的行为完全相同。
只需删除第二个参数的空格('--proxy-type = socks5'),您的代码就可以正常运行。
因此,
from selenium import webdriver service_args = [ '--proxy=127.0.0.1:9050', '--proxy-type=socks5', ] driver = webdriver.PhantomJS(service_args = service_args)
答案 1 :(得分:0)
尝试添加您确切的phantomjs路径?
driver = webdriver.PhantomJS(executable_path=<your_phantomjs_path>, service_args = service_args)