Python实现网页自动化-初步使用(一)
自动化介绍及环境要求
一、了解selenium
Selenium是一个用于网站应用程序自动化的工具。它可以直接运行在浏览器中,就像真正的用户在操作一样;
它支持的浏览器包括IE、Mozilla Firefox、Safari、Google Chrome和Opera等,同时支持多种编程语言,如.Net、Java、Python和Ruby等。
Jason Huggins在2004年发起了Selenium项目,这个项目主要是为了不想让自己的时间浪费在无聊的重复性工作中,
因当时测试的浏览器都支持JavaScript,Jason和他所在的团队就采用JavaScript编写了一种测试工具——JavaScript类库,来验证浏览器页面的行为;
这个JavaScript类库就是Selenium core,同时也是seleniumRC、Selenium IDE的核心组件,Selenium由此诞生。
从Selenium诞生至今一共发展了3个版本:Selenium 1.0、Selenium 2.0和Selenium 3.0。每个版本的更新都有一些变化,下面大概了解一下各个版本的信息:
● Selenium 1.0:主要由Selenium IDE、Selenium Grid和Selenium RC组成。Selenium IDE是嵌入到浏览器的一个插件,由于实现简单的浏览器操作的录制与回放功能;
Selenium Grid是一种自动化的辅助工具,通过利用现有的计算机基础设施,能加快网站自动化操作;Selenium RC是Selenium家族的核心部分,支持多种不同开发语言编写的自动化脚本,
通过Selenium RC的服务器作为代理服务器去访问网站应用,从而达到自动化目的。
● Selenium 2.0:该版本在1.0版本的基础上结合了Webdriver。Selenium通过Webdriver直接操控网站应用,解决了Selenium 1.0存在的缺点;
WebDriver针对各个浏览器而开发,取代了网站应用的JavaScript。目前大部分自动化技术都是以Selenium 2.0为主,这也是本书主要讲述的内容。
● Selenium 3.0:这个版本做了不大不小的更新。如果是使用Java开发只能在Java 8以上的开发环境,如果以IE浏览器作为自动化浏览器,浏览器必须在IE 9版本或以上。
从Selenium的各个版本信息可以了解到,它必须在浏览器的基础上才能实现自动化。目前浏览器的种类繁多,比如搜狗浏览器、QQ浏览器和百度浏览器等;
这些浏览器大多数是在IE内核、Webkit内核或Gecko内核的基础上开发而成的。为了统一浏览器的使用,Selenium主要支持IE、Mozilla Firefox、Safari、Google Chrome和Opera等主流浏览器。
Selenium发展至今,不仅在自动化测试和自动化流程开发的领域上占据着重要的位置,而且在网络爬虫上也被广泛使用。
二、环境要求
1.Python
2.selenium库
3.谷歌浏览器
准备过程
1.安装selenium库:
pip install selenium
2.安装谷歌浏览器webdriver
首先打开谷歌浏览器的“关于谷歌浏览器”,查看谷歌浏览器的版本:
版本:81.0.4044.138
然后根据版本号去:http://npm.taobao.org/mirrors/chromedriver/
下载对应版本的zip文件:
根据实际系统版本选择:
然后进行解压,安装。
(注:放到常用的文件夹即可,下面会用到。)
实现效果
完成安装后,创建一个test.py的Python文件,看看能否自动启动谷歌浏览器。
from selenium import webdriver
#设置自动化打开的浏览器访问网址
url = 'https://www.chenxiaohei.net'
#设置谷歌浏览器driver的目录所在
path = '/Users/chengf/Documents/Python/Project/selenium_chrome/chromedriver'
browser = webdriver.Chrome(executable_path=path)
#打开浏览器,并访问设置的网址。
browser.get(url)
(效果如图)
看到谷歌浏览器的提示:
chorme正在受到自动测试软件的控制
说明测试成功。