1. 前言
当做爬虫遇到网页上的按钮需要点击的时候需要用到selenium,但是新版本的selenium竟然出现如下错误:
Traceback (most recent call last):
File "/home/sucker/Desktop/pytest/python_spider/main.py", line 28, in <module>
main()
File "/home/sucker/Desktop/pytest/python_spider/main.py", line 14, in main
infoget.anquanke_info(pageobj, page, 3)
File "/home/sucker/Desktop/pytest/python_spider/pageinfoget.py", line 44, in anquanke_info
driver = webdriver.Firefox()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 152, in __init__
self.service.start()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
这是由于selenium在升级到3.0.1版本之后就需要使用geckodriver,最直接的解决办法便是将selenium降级,可以通过如下命令选择可用的安装包
pip install selenium==
这里还是没有对其降版本,而是直接修复该问题,这里就从windows和Ubuntu两个系统进行处理。
2. 问题解决
首先进入到geckodriver下载页面下载对应版本和操作系统的压缩包
2.1 Ubuntu系统
下载完对应文件之后解压:
tar zxvf geckodriver-v0.20.0-linux64.tar.gz
将其拷贝到\usr\local\bin
目录下
cp geckodriver /usr/local/bin/
2.2 Windows系统
- 将下载之后的压缩包解压得到getckodriver.exe
- 将getckodriver.exe拷贝到Firefox的安装目录下,并将该目录添加到系统环境变量中
- 重启cmd或IDLE再次运行代码