要使用Selenium WebDriver,首先需要安装对应编程语言的客户端,对于Python而言,执行以下命令即可安装:
pip install selenium
除了安装Selenium WebDriver客户端,还需要下载并配置对应浏览器的浏览器驱动程序,对于不同的浏览器,其驱动程序下载地址如下:
Chrome:https://sites.google.com/a/chromium.org/chromedriver/downloads
Firefox:https://github.com/mozilla/geckodriver/releases
IE:https://selenium-release.storage.googleapis.com/3.150/IEDriverServer_Win32_3.150.1.zip
Edge:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads
Safari:无需下载,macOS已经内置了Safari浏览器驱动程序。
注意,浏览器驱动需与浏览器匹配,否则会抛出SessionNotCreatedException异常。
笔者以Windows电脑为例,下载浏览器驱动后将其中的.exe可执行文件放至E:\Other\BrowserDriver目录,您可根据实际情况修改目录。
打开cmd窗口,执行以下命令将浏览器驱动程序的路径添加到系统变量的path变量中:
setx /m path "%path%;E:\Other\BrowserDriver"
macOS或Linux电脑可使用以下命令:
export PATH=$PATH:/your/path >> ~/.profile
接下来新增selenium_test模块,其代码如下所示:
from selenium.webdriver import Chromewith Chrome() as driver: driver.get('https://www.baidu.com/')
执行以上代码后会自动打开Chrome浏览器,并载入百度首页。由于使用了with-as语句,因此会自动释放资源(即关闭浏览器),否则需要显式调用quit方法:
from selenium.webdriver import Chromedriver = Chrome()try: driver.get('https://www.baidu.com/')finally: driver.quit()
为了防止发生异常而导致的资源无法释放,以上代码使用了try-finally语句。
除了打开Chrome浏览器,也可以打开其他浏览器,比如Firefox:
from selenium.webdriver import Firefoxdriver = Firefox()
对于IE浏览器,可能不能直接打开,需要先检查IE浏览器的设置:进入IE浏览器的“工具 → Internet选项 → 安全”Tab页面,查看“Internet”、“本地Internet”、“可信站点”和“受限站点”4个区域的“启用保护模式”是否都勾选或都不勾选,如下图所示: