我使用Python跟随Selenium Webdriver脚本 . 但是我得到了错误:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
caps = DesiredCapabilities.FIREFOX
caps["marionette"] = True
driver = webdriver.Firefox(capabilities=caps)
driver.get("http://www.mahsumakbas.net")
print driver.title
driver.close()
错误是:
Traceback(最近一次调用最后一次):文件“C:\ Mahsum \ DevelopmentWorkSpace \ Eclipse \ Java \ selenium_proj \ src \ hello.py”,第6行,在driver = webdriver.Firefox(capabilities = caps)文件“C:\在init self.service.start()文件“C:\ Python27 \ lib \ site-packages \ selenium \ webdriver \ common \”中的Python27 \ lib \ site-packages \ selenium \ webdriver \ firefox \ webdriver.py“,第135行service.py“,第71行,在启动os.path.basename(self.path),self.start_error_message)selenium.common.exceptions.WebDriverException:消息:'geckodriver'可执行文件需要在PATH中 . 异常AttributeError:“'服务'对象在>忽略中没有属性'process'”
Selenium Webdriver版本是: 3.0.1
Firefox: 49.0.2
geckodriver: v0.11.1-win64
我添加了geckodriver路径到Windows PATH变量 .
问题出在哪儿?
3 回答
您可以将'geckodriver'.exe放在Python的基本路径中,它将起作用 .
或者,如果您希望拥有一个干净的Python文件夹,则必须在初始化时声明geckodriver的路径 . 每次运行脚本时都可以执行此操作,或者按照自己的说法执行PATH . 正如Naveen建议的那样,在正确保存PATH之前必须重新启动 . 您还可以尝试在Windows命令行中运行它:
最终代码就像跟随和工作:
将没有文件名的geckodriver.exe的路径(仅放置它的文件夹)设置为PATH vairable .
这一次,我有另一个问题:
driver.close() 没有关闭firefox .
当更改为 driver.quit() 时,它会关闭,但控制台上会显示以下行:
没有任何指示器显示它是警告或错误 . 只是自己排队 .
尝试添加firefox配置文件