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、在框中可以填入定位表达式,例如:

原文地址:https://www.cnblogs.com/kulankadamei/p/13290673.html