Python3.5配置Selenium

来源:互联网 发布:企业qq for mac版 编辑:程序博客网 时间:2024/06/05 09:30

Selenium是一个自动化测试工具,它支持Java、Python等语言的应用。

主要是通过支持Chrome、Firefox、Safari等主流浏览器的界面交互进行测试,也就是说可以通过Selenium驱动浏览器自动做一些事情,所以用于Web方面的测试或者写一些脚本再合适不过了。


1.安装Selenium。

在Python中安装Selenium可以直接通过pip进行安装,本人是windows的系统,所以在命令行下直接输入:pip install selenium 即可。

或者去下载单独的包,下载地址:https://pypi.python.org/pypi?%3Aaction=search&term=selenium&submit=search

然后进入安装包的目录下使用:pip install 带后缀的完整文件名。

目前最新的版本是:3.0.2的。


2.安装浏览器Driver。

单纯的selenium并不能完成整个测试,因为selenium需要通过各种浏览器提供的驱动进行交互操作。所以需要下载各个浏览器的driver。

如果上一步安装selenium时是通过下载单独的安装包进行安装的话,就会在下载界面发现这样的信息:



上面已经提供了下载driver的地址和方法,本人使用的是ChromeDriver,点进去下载地址可以发现如下界面:


其中需要解释的是这个win32貌似并不是指操作系统的位数,而是浏览器的位数,可以发现没有win64的,但是据说可以通用(起码本人没有遇到问题)。

或者进入这里进行下载该驱动:http://download.csdn.net/detail/leafage_m/9752554


下载之后解压出来的.exe文件放到Python安装目录的根目录下即可:如Python安装位置为:D:\Python3.5\,则将该文件复制到D:\Python3.5\下即可。


注意:可能由于版本的问题使用Firefox的时候貌似需要geckodriver的另一个驱动,这里是群里大佬各处的解释:



同样的附带群里大佬上传的geckodriver驱动(在群里发现两个,大小不太一样,本人并没有进行测试,所以全部上传了):

还有的问题就是大佬说chrome和chromedriver之间也有对应的关系,详情参考:https://huilansame.github.io/huilansame.github.io/archivers/chromedriver-to-chrome-version


3.使用Selenium。

在将所有的使用环境搭建好之后,可以进行如下测试:

from selenium import webdriverdriver = webdriver.Chrome()driver.get("http://www.baidu.com")search = driver.find_element_by_id('kw')search.send_keys('元宵节')driver.find_element_by_id('su').click()

使用import导入包是毫无疑问的。


然后使用

driver = webdriver.Chrome()

打开Chrome浏览器并得到一个selenium对象。

下面就是打开了www.baidu.com的主界面。


下面三行代码的作用就是:通过find_element_by_id的方法在打开的页面中找到id为“kw”的元素节点并返回一个可进行操作的selenium下面包含的对象。

通过查看百度首页的源码可以看到,id为“kw”正是平时所用到的输入框,所以下一行就是使用了send_keys的方法在输入框中输入了“元宵节”三个字。

那么最后一行的就很明了了,使用find_element_by_id的方法找到了id为“su”的元素节点,并使用了click方法,很显然就是点击了一下这个元素,对应源码可知,id为“su”的节点正是平时所点击的百度一下按钮。




运行上述代码之后,就会自动打开Chrome浏览器>打开百度>输入"元宵节">点击百度一下。

所进行的操作步骤与平时人们进行的一样,但这完全是依靠代码自动化实现的(这样的话,就可以用来做很多事,刚开始使用确实让我很激动):




当然,selenium的用处远远不止如此,这是一份selenium的中文入门文档,其中对这个的入门有着一定的介绍:

http://selenium-python-zh.readthedocs.io/en/latest/installation.html



0 0