selenium的安装报错和解决
Posted mysticbinary
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium的安装报错和解决相关的知识,希望对你有一定的参考价值。
selenium安装的第一步就是用pip把模块下载回来。
第一步pip install
pip install selenium
具体报错信息如下:
File "/usr/local/lib/python2.7/dist-packages/selenium-3.0.0b2-py2.7.egg/selenium/webdriver/firefox/webdriver.py", line 65, in __init__
self.service.start()
File "/usr/local/lib/python2.7/dist-packages/selenium-3.0.0b2-py2.7.egg/selenium/webdriver/common/service.py", line 71, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x7f753ad53390>> ignored
# 发现报错信息包含: Message: 'geckodriver' executable needs to be in PATH
解决 :
是因为缺少依赖包geckodriver,所以在安装selenium之前,先把geckodriver安装上就能解决了。
Windows 系统
下载geckodriver.exe:
下载地址:https://github.com/mozilla/geckodriver/releases
请根据系统版本选择下载;(如Windows 64位系统)
下载解压后将getckodriver.exe复制到Firefox的安装目录下,如(C:Program FilesMozilla Firefox),并在环境变量Path中添加路径:C:Program FilesMozilla Firefox;
重启cmd后,再次运行代码即可
ubuntu16.04 系统
下载 geckodriverckod 地址:https://github.com/mozilla/geckodriver/releases
解压后将geckodriverckod 存放至 /usr/local/bin/ 路径下即可
Mac OS 系统:
如果你已经安装好了brew,那么输入如下两条命令即可
brew install geckodriver
brew link geckodriver
检验 geckodriver 是否安装成功:
# shell窗口下输入命令
geckodriver
# 什么都不输出,也不退出,说明安装成功
# 注意:windows 系统需要重启一个新cmd窗口在输命令
使用pip list
查看已经安装的模块:
发现安装成功。
第二步Python运行Demo
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://www.baidu.com/')
报错:
Traceback (most recent call last):
File "D:programfilesAnaconda3libsite-packagesseleniumwebdrivercommonservice.py", line 76, in start
stdin=PIPE)
File "D:programfilesAnaconda3libsubprocess.py", line 756, in __init__
restore_signals, start_new_session)
File "D:programfilesAnaconda3libsubprocess.py", line 1155, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:/code/commany/python/APPScan/main.py", line 7, in <module>
browser = webdriver.Chrome()
File "D:programfilesAnaconda3libsite-packagesseleniumwebdriverchromewebdriver.py", line 73, in __init__
self.service.start()
File "D:programfilesAnaconda3libsite-packagesseleniumwebdrivercommonservice.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
Process finished with exit code 1
没有安装chromedriver导致的,参考自己chrome浏览版本对应的chromedriver版本:
https://my.oschina.net/u/3367404/blog/3011400
chromedriver下载地址:
https://chromedriver.storage.googleapis.com/index.html
下载完成后,将ChromeDriver的可执行文件配置到环境变量下。
如果使用Windows,建议直接将chromedriver.exe文件拖到Python的Scripts目录下。
再次运行脚本,发现会新弹出一个新chrome:
以上是关于selenium的安装报错和解决的主要内容,如果未能解决你的问题,请参考以下文章
Can't bind to local 8700 for debugger报错和解决
解决java.lang.NullPointerException和java.lang.ClassNotFoundException报错和出现原因