Selenium是一个自动化测试工具,它支持各种浏览器,包括Chrome、FireFox、IE、Edge等。它可以模拟操作浏览器,对一些需要动态加载的页面,不需要我们执行JavaScrip等操作,即可自动加载完成后的页面。
安装Selenium
安装Selenium可直接使用pip:
pip install selenium
下载Driver
安装Selenium后,还需要下载对应的浏览器驱动,下载驱动的时候,需要下载与浏览器版本相容的版本。
Chrome driver:https://sites.google.com/a/chromium.org/chromedriver/home
FireFox driver:https://github.com/mozilla/geckodriver/releases
IE driver:https://github.com/mozilla/geckodriver/releases
Edg driver:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver
如果没有梯子,下载Chrome driver时,可以使用国内源:
1、http://chromedriver.storage.googleapis.com/index.html
2、https://npm.taobao.org/mirrors/chromedriver/
安装Chrome driver
以Chrome为例,查看Chrome版本,在Chrome浏览器中输入chrome://version/:

可以看出浏览器Chrome是75.0.3770.100 64位版本的,使用taobao.org源:

没有找到75.0.3770.100的,下载了一个最接近的75.0.3770.90。
配置与测试
下载并解压后,是一个chromedriver.exe文件,可将这个加入到系统环境变量PATH中。加入后测试配置是否正常:
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.get('http://www.mirthsoft.com')
print(driver.title)
driver.quit()
如果正常打印,即说明配置正常。
当然不把chromedriver.exe加入到系统环境变量也是可以的,这时需要指定executable_path参数,如下:
from selenium import webdriver
chrome_driver = r'C:\Users\dean\Downloads\chromedriver_win32\chromedriver.exe'
driver = webdriver.Chrome(executable_path = chrome_driver)
driver.implicitly_wait(5)
driver.get('http://www.mirthsoft.com')
print(driver.title)
driver.quit()
正常情况下,会打印网页标题。