我正在尝试将PhantomJS与Selenium和Python一起使用 .
我的理解是:
我将不得不使用Selenium包编写Python脚本,该包将与Selenium交互以在PhantomJS WebDriver上运行以自动化Web应用程序测试 .
我安装了以下内容:
-
Python v3.5.1 .
-
Selenium使用
pip install selenium
v3.7.0 . -
PhantomJS v2.1.1
与此同时,我使用Chrome WebDriver将其放置在PATH中进行了测试,并且执行时没有错误 . 以下是我使用chrome webdriver打开google.com的脚本 .
from selenium import webdriver
driver = webdriver.Chrome() # or add to your PATH
driver.get('https://google.com/')
Using PhantomJS:
from selenium import webdriver
url = "http://www.google.com"
path_phantom = r'H:\phantomjs\bin\phantomjs.exe'
driver = webdriver.PhantomJS(executable_path=path_phantom)
driver.get(url)
driver.save_screenshot(r'H:\out.png')
driver.quit()
Errors:
回溯(最近一次调用最后一次):文件“C:\ Users \ acer \ Desktop \ testing \ openYoutube.py”,第5行,在driver = webdriver.PhantomJS()文件“C:\ Users \ acer \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ site-package s \ selenium \ webdriver \ phantomjs \ webdriver.py“,第51行,在init log_path = service_log_path中)文件”C:\ Users \ acer \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ site-package s \ selenium \ webdriver \ phantomjs \ service.py“,第50行,在init service.Service.init中(self,executable_path,port = port,log_file = open(log _path) ,'w'))PermissionError:[Errno 13]权限被拒绝:'ghostdriver.log'
我错放了PhantomJS exe或者错过任何一步吗?
3 回答
您可以将
PhantomJS v2.1.1
二进制文件放在系统中的任何位置,并使用以下代码块:更新:
请考虑以下几点并尝试以下代码块和调试消息:
运行
CCleaner
工具以清除系统中的所有OS
家务 .您可以选择
System Reboot
.尝试在同一驱动器上保留
Python
应用程序,WebBrowser
二进制文件和WebDriver
二进制文件,即phantomjs.exe
.问题似乎与日志文件有关 .
更改日志文件的路径解决了这个问题 .
从你的错误:
似乎它尝试创建此文件
ghostdriver.log
但由于权限而失败 .正如in this answer建议的那样,尝试添加参数
到函数
webdriver.PhantomJS()
.或者确保它能够创建文件 .