本篇内容基于Win10 64位、Python3.7版本,FireFox版本为最新版65.0,不同版本表现可能有所不同。
使用webdriver的过程中,碰到了几个问题,网上找到的一些步骤和说明感觉不够清晰,因此这里记录一下,供大家参考。
目录
一、多版本Python切换
网上介绍最多的办法是修改python.exe的名称,在后面加上版本号加以区分,例如python27.exe、python37.exe之类的,当然,前提是安装路径都已经配置了环境变量。
如果不想修改名称,还有一种办法是在安装路径下进入Python,这样会自动加载当前路径下的Python。
自己的机器中配置了Python36、Python37的环境变量,但python命令默认进入的是Python36版本,如下图。如果要在CMD窗口下使用Python37版本,可以进入Python37的安装路径,再输入python命令。
进入Python37的安装路径除了DOS命令切换之外,也可以在Python37的文件夹路径中直接输入cmd,这样可以直接打开当前路径的CMD窗口。
二、安装Selenium
1. 使用pip安装
切换至想要安装的Python版本,输入命令:pip install selenium
安装成功后可以进入Python,使用help命令查看版本,自己安装的Selenium版本是3.14.1:
import selenium
help(selenium)
2. 使用Pycharm安装
选择Project Interpreter为要安装的Python版本,直接搜索selenium即可安装。
三、配置FireFox
1. 添加FireFox驱动
(1)进入Selenium官网的下载页:https://www.seleniumhq.org/download/
(2)选择Mozilla GeckoDriver后将会跳转至GitHub下载页:https://github.com/mozilla/geckodriver
(3)选择对应的Release版本下载
(4)将解压后的文件geckodriver.exe放到选择的Python安装路径下,或者安装路径下的Scripts文件夹中(配置过环境变量的文件夹)
2. 添加Selenium IDE附加组件
使用FireFox的附加组件功能,搜索安装Selenium IDE即可。
可以在详情页中查看版本和支持:
四、测试
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.zhihu.com')
注意事项:
driver.get()中的网址必须填写完整网址,即必须包括http://或者https://前缀,否则会报错:www.zhihu.com不是一个有效的URL
Traceback (most recent call last):
File "F:/SoftwareProjects/PythonProjects/test000/scrapy/scrapy_website.py", line 6, in <module>
driver.get('www.zhihu.com')
File "F:\Software\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "F:\Software\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "F:\Software\Python\Python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: Malformed URL: www.zhihu.com is not a valid URL.