黑马程序员技术交流社区

标题: 【上海校区】Python之自动化测试工具selenium [打印本页]

作者: 梦缠绕的时候    时间: 2018-7-31 09:46
标题: 【上海校区】Python之自动化测试工具selenium

今天来介绍一下selinium的安装和使用


对于程序的测试一般有四种方法:手动测试,自动测试,白盒测试和黑盒测试

而selenium就是一个自动化测试工具


selenium在python中的具体作用为:

1.selenium可以完全模拟浏览器操作,并对动态数据进行获取

2.当有些数据需要登录才能获取,那么selenium只需要得到账号密码就可以代替人工登录


selenium的注意事项:

1.使用selenium控制浏览器进行操作时,速度会很慢,所以要谨慎使用

2.需要下载浏览器对应的驱动程序,下载方法请参考下面具体步骤

3.由于selenium更新没有浏览器快,所以要注意selenium与浏览器之间的对应关系,尽量不要更新浏览器


selenium及webdriver的安装

1.安装selenium

selenium属于python的第三方库,所以安装还是老方法

windows+r  >>> cmd >>> pip install selenium

2.安装webdriver,这里以火狐浏览器和谷歌浏览器为例


谷歌浏览器:下载chromedriver,注意版本     下载地址:http://npm.taobao.org/mirrors/chromedriver/

火狐浏览器:下载geckodriver,注意版本        下载地址:https://github.com/mozilla/geckodriver/releases

3.下载完成后解压到桌面,然后把解压后的文件剪切到Pycharm的环境变量Anaconda文件夹中的Scripts文件里


如果想试一下安装是否成功,最直接的办法就是在代码中写

from selenium import webdriver

如果不报错就说明安装成功了


selenium及webdriver的使用

这3句代码基本是模板,现在来解释一下

1   从selenium库中导入webdriver模板

2   使用网页驱动来运行火狐浏览器,当然,也可以使用其他浏览器,在webdriver方法中可以随便设置

3   通过驱动来执行指定的网页


打开网页后,我们就可以来获取想要的数据了

如果只是想查找和定位某些元素时,建议使用xpath或者css_selecotor

如果想对找到的内容进行操作时,建议使用find_element_by_XXX


这里以百度首页的输入框为例,我们可以使用一下方法来找到输入框

一、如果在找到输入框之后还要进行输入,那么要用find_element_by_XXX方法来找,因为这个方法后面可以继续追加操作

send_keys()  输入值

1.通过id找到输入框,并输入selenium   因为id是唯一的,所以有且只有一个结果

driver.find_element_by_id('kw').send_keys('selenium')

2.通过name找到输入框,并输入selenium  因为name值可能有多个结果,所以最后找到的结果可能与你想要找的结果不太一致

  如果要输入的值含有中文,要在前面加一个u

driver.find_element_by_name('wd').send_keys(u'csdn博客')

3.通过class名来找 和 通过tag名来找

二、css_selector方法和xpath方法,主要用来查找和定位

1.在css_selector中,  点 表示class   #表示id

driver.find_element_by_css_selector('#kw')

2.使用xpath方法

driver.find_element_by_xpath('//form[@id="form"]/span/input[@id="kw"]')
作者: wuqiong    时间: 2018-7-31 10:26

作者: 不二晨    时间: 2018-7-31 11:52
奈斯,很赞




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2