安装Selenium
Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作。对于一些JavaScript渲染的页面来说,这种抓取的方式非常有效。
安装:
命令行中输入安装命令:
pip3 install selenium
验证安装:
import seleniu
安装ChromeDriver
前面我们安装好了selenium库,但是它是一个自动化测试工具,需要浏览器配合使用,这里我们选择Chrome浏览器。
查看浏览器版本
在浏览器的
帮助/关于Google Chrome
查看浏览器版本:
下载相应的ChromeDriver
打开ChromeDriver官方网站,根据上面的浏览器版本,下载相应版本的ChromeDriver,这里下载的是ChromeDriver 2.44
安装ChromeDriver
将下载好的可执行文件移动到/usr/local/bin目录中:
sudo mv chromedriver /usr/local/bin
测试安装
通过代码来测试chromedriver驱动:
from selenium import webdriver
import time
wd = webdriver.Chrome()
wd.get("<https://www.baidu.com>") # 打开百度浏览器
wd.find_element_by_id("kw").send_keys("selenium") # 定位输入框并输入关键字
wd.find_element_by_id("su").click() #点击[百度一下]搜索
time.sleep(3) #等待3秒
wd.quit() #关闭浏览器
macOS使用Selenium驱动Safari浏览器进行自动化测试
系统: macOS10.15.5Safari: 13.1.1
由于safari浏览器本身已经集成了safaridriver,只要启用并开启即可,步骤如下:
- 启用safaridriver:
safaridriver --enable
- 尝试运行safraidriver,看是否有权限问题。
/usr/bin/safaridriver
- 编写脚本
Copy
from selenium import webdriver
from time import sleep
dr = webdriver.Safari()
dr.implicitly_wait(10)
dr.get('<https://www.baidu.com>')
dr.find_element('id', 'kw').send_keys('博客园 skystartx')
dr.find_element('id', 'su').click()
dr.find_element('id', 'su').click()
sleep(5)
dr.quit()