我正在尝试在我的Windows 7中使用PhantomJS和Python,但是无法正常工作! 这就是我试图做的事情。
首先,我安装了webdriver。在下面的代码中,Firefox正常打开,所以我相信webdrive已正确安装。
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')
然后,我从官方网站下载了PhantomJS,将其解压缩并放入c:\ Phantomjs。然后我将它添加到环境变量中。 这里有什么:
C:\幻影\ phantomjs-2.0.0窗口\ bin中
所以,当我在终端输入“phantomjs”时,它会正常启动。但是下面的代码给了我一个错误:
from selenium import webdriver
browser = webdriver.PhantomJS( )
错误讯息:
在:>中忽略了异常 Traceback(最近一次调用最后一次): 文件“c:Python34 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py”,第136行, del 文件“c:Python34 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py”,第124行,停止 AttributeError:'NoneType'对象没有属性'close'
如果我改变了一点代码,那就在这里:
from selenium import webdriver
browser = webdriver.PhantomJS(executable_path='C:\Phantom\phantomjs-2.0.0-windows\bin\phantomjs.exe')
错误讯息:
追踪(最近一次呼叫最后一次):
文件“c:Python34 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py”,第62行,开头
stdout = self.log_file,stderr = self.log_file)
文件“c:Python34 \ lib \ subprocess.py”,第859行, init
restore_signals,start_new_session)
文件“c:Python34 \ lib \ subprocess.py”,第1112行,在_execute_child startupinfo中)
FileNotFoundError:[WinError 2]系统找不到指定的文件
在处理上述异常期间,发生了另一个异常:
追踪(最近一次呼叫最后一次):
文件“d:\ test.py”,第2行,
browser = webdriver.PhantomJS(executable_path ='C:\ Phantom \ phantomjs-2.0.0-windows \ bin \ phantomjs')
文件“c:Python34 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py”,第51行, init self.service.start()
文件“c:Python34 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py”,第69行,在启动os.path.basename(self.path)中,
self.start_error_message)
selenium.common.exceptions.WebDriverException:消息:'phantomjs'可执行文件需要在PATH中。
在
中忽略了异常>
追踪(最近一次呼叫最后一次):
文件“c:Python34 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py”,第136行, del self.stop()
文件“c:Python34 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py”,第117行,停止
如果self.process是None:
AttributeError:'Service'对象没有属性'process'
我该如何解决?
答案 0 :(得分:6)
问题是路径中缺少 exe扩展程序。
试试这个:
from selenium import webdriver
phantomjs_path = r'C:\Phantom\phantomjs-2.0.0-windows\bin\phantomjs.exe'
browser = webdriver.PhantomJS(phantomjs_path)
答案 1 :(得分:0)