安装Selenium

Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作。对于一些JavaScript渲染的页面来说,这种抓取的方式非常有效。

安装:

命令行中输入安装命令:

pip3 install selenium

验证安装:

import seleniu

安装ChromeDriver

前面我们安装好了selenium库,但是它是一个自动化测试工具,需要浏览器配合使用,这里我们选择Chrome浏览器。

查看浏览器版本

在浏览器的

帮助/关于Google Chrome

查看浏览器版本:

Windows和MacOS上安装Selenium_windows

下载相应的ChromeDriver

打开ChromeDriver官方网站,根据上面的浏览器版本,下载相应版本的ChromeDriver,这里下载的是ChromeDriver 2.44

Windows和MacOS上安装Selenium_chrome_02

​ChromeDriver下载网址​

安装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,只要启用并开启即可,步骤如下:

  1. 启用safaridriver:
safaridriver --enable
  1. 尝试运行safraidriver,看是否有权限问题。
/usr/bin/safaridriver
  1. 编写脚本
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()