selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。
selenium可以模拟真实浏览器,自动化测试工具,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。
安装:
下载chromedriver时,chromedriver官网打不开的话,可以去淘宝镜像,地址:http://npm.taobao.org/mirrors,使用最新的chromedriver可以避免一些未知错误(我用旧版的就报错了:WebDriverException: unknown error: call function result missing 'value')
在 Python 下引用 Selenium 包开发时,报错:WebDriverException: 'chromedriver' executable needs to be in PATH.
安装 selenium 的 python 包之后,还要安装浏览器 driver,下载安装了ChromeDriver后,将其路径添加到/usr/local/bin下,仍然报错,重新添加PATH,也报错。最后解决办法为:
复制 chromedrive 文件到 Google Chrome 程序目录下,
selenium可以模拟真实浏览器,自动化测试工具,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。
安装:
pip install selenium
下载chromedriver时,chromedriver官网打不开的话,可以去淘宝镜像,地址:http://npm.taobao.org/mirrors,使用最新的chromedriver可以避免一些未知错误(我用旧版的就报错了:WebDriverException: unknown error: call function result missing 'value')
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
在 Python 下引用 Selenium 包开发时,报错:WebDriverException: 'chromedriver' executable needs to be in PATH.
安装 selenium 的 python 包之后,还要安装浏览器 driver,下载安装了ChromeDriver后,将其路径添加到/usr/local/bin下,仍然报错,重新添加PATH,也报错。最后解决办法为:
复制 chromedrive 文件到 Google Chrome 程序目录下,
将
driver = webdriver.Chrome()
改为:
driver = webdriver.Chrome("/Applications/Google Chrome.app/Contents/MacOS/chromedriver")
即可正常运行。
Selenium的优缺点
优点:Selenium可以爬取任何网页的任何内容,因为它是通过浏览器访问的方式进行数据的爬取,