Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。而对于爬虫来说,使用Selenium操控浏览器来爬取网上的数据那么肯定是爬虫中的杀手武器。

这里将介绍selenium + 谷歌浏览器的一般使用。首先会介绍如何安装部署环境,然后贴出一些常用的一些方法介绍。

一、selenium 环境配置

在安装有python3的机器上,打开终端执行 pip3 install selenium 即可

二、下载chromedriver

至此可选择查看 GitHub 上的 demo,已经将 ChromeDriver 安放在项目路径下,直接运行即可

或者手动下载 ChromeDriver

  • 下载地址一:

https://sites.google.com/a/chromium.org/chromedriver/downloads

  • 下载地址二:

http://npm.taobao.org/mirrors/chromedriver/

将解压后的chromedriver移动到/usr/local/bin目录下

否则在运行脚本时,会提示

chromedriver executable needs to be in PATH 错误

三、selenium 第一个脚本

from selenium import webdriver
 
browser = webdriver.Chrome()
browser.get('http://www.baidu.com/')

运行这段代码,会自动打开Chrome浏览器,然后访问百度。

至此,配置完成。

四、Linux 下 Chrome 浏览器安装教程

下载地址请参见 http://rpmfind.net/linux/rpm2html/search.php?query=google-chrome-stable

配置yum源脚本

# 备份原来的yum源

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo_bak

# 获取阿里云yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 清除缓存

yum clean all

# 生成缓存

yum makecache

安装脚本如下:

# 下载
# wget http://rpmfind.net/linux/sourceforge/s/sl/slik-linux/chrome/google-chrome-stable-58.0.3029.110-1.x86_64.rpm
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
# yum会自动分析依赖,完成安装
yum localinstall google-chrome-stable-58.0.3029.110-1.x86_64.rpm
# 升级chrome到当前最新版以避免老版本可能出现的一些bug
yum -y upgrade google-chrome-stable

测试安装是否成功的python脚本

from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
# options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(executable_path="/root/chromedriver", chrome_options=options)

特别说明:无图形化界面的Linux系统上使用 selenium 和 ChromeDriver 请务必使用 headless 模式