web自动化测试
一、环境安装
1、安装selenium
命令行使用如下命令进行安装:pip install -U selenium
2、安装chrome浏览器和chrome驱动chromedriver,二者的版本必须是一致的才行
查看chrome的版本号可以在地址栏输入:chrome://version/
3、chromedriver放在python的安装根目录即可
chromedriver下载地址:http://npm.taobao.org/mirrors/chromedriver
4、打开chrome,代码如下:
from selenium import webdriver driver = webdriver.Chrome()
运行之后,会打开chrome浏览器
二、元素定位
1、通过id定位,id值是固定的,则可以通过此方法定位,如果id是动态的,则不可以通过id来定位。
语法:
from selenium.webdriver.common.by import By #1、通过id定位 driver.find_element_by_id("id名") #或者用以下方法 driver.find_element(By.id, "id名") #2、通过classname找到一个元素 driver.find_element_by_class_name("classname名") #通过classname找到所有符合条件的值,返回值是list,每一个值都是webelement对象 driver.find_elements_by_class_name("classname名") #3、通过标签名tag name driver.find_element_by_tag_name("tag名") driver.find_elements_by_tag_name("tag名") #4、name driver.find_element_by_name("name名") driver.find_elements_by_name("name名") #5、通过链接的文本内容精确匹配 driver.find_element_by_link_text("精确的文本") #要完全匹配文本,不可多空格等 driver.find_elements_by_link_text("精确的文本") #6、通过链接的文本内容模糊匹配 driver.find_element_by_partial_link_text("模糊的文本") #模糊匹配链接的文本 # css driver.find_element_by_css_selector("") #xpath driver.find_element_by_xpath("")
其中,用的比较多的是xpath定位,xpath分为绝对定位和相对定位
绝对定位:以/开头,严格按照在html页面当中的顺序以及关系、位置
相对定位:以//开头,在这个html页面当中,有没有符合表达式的元素,语法://标签名[@属性名=属性值]
多个属性定位语法 : //标签名[@属性名="属性值" and @属性名="属性值"] //标签名[@属性名="属性值" or @属性名="属性值"]
如何确定xpath的定位是正确的呢?
1、F12,进入开发者模式
2、将鼠标放到要定位的元素区域,确保元素在这个区域当中
3、按ctrl+F,能够看到如图所示的输入框
4、在框中可以填入定位表达式,例如: