8大元素定位方式

初识HTML构成

   双标签  <a>文本</a> 、<span>文本</sapn>

   内嵌标签  <div>    <input  >  </div>

属性:存在标签里面,比如 id,name,class

text文本:只有双标签内才有文本,单标签没有文本

  <div>
        <input type="text" name="username" placeholder="请输入昵称">
     <input type="password" name="password" placeholder="请输入密码">
        <h3 class="title_author">问卷调查</h3>        
        1-选择你最喜欢的编程语言
        <input type="radio" name="faver language" value="java">java
        <input type="radio" name="faver language" value="python">python
        <input type="radio" name="faver language" value="c++">c++
        <input type="radio" name="faver language" value="php">php
        <a href="https://i.cnblogs.com/posts?cateId=1964726" class="title_author" target="_parent">
             <img src="http://www.fulan.com.cn/img/icons/home-sols-3.png"> [接口自动化测试]
        </a>
    </div>    

 

总结:一般input标签都有name属性,name属性作为传送到后端接口数据的key

元素定位的原则:

  • 确保元素唯一
  • 找到两个元素:加索引,或者使用复合条件
  • 不要去定位会动态变化的元素:属性当中包含了数字或者特殊字符串,一般就会动态变化

web页面元素定位方法

  • id : 通过id属性定位,一般id为唯一
  • name : 通过name属性定位
  • class name :定位class属性中间不能有空格
  • tag name
  • link text
  • partail link text
  • xpath
  • css_selector

常用定位方式举例:

driver.find_element("id","kw")
driver.find_element("name","wd")
driver.find_element("class name","s_ipt")
driver.find_element("xpath","//input[@id='kw']")
driver.find_element("xpath","//input[@name='wd']")
driver.find_element("css_selector","#kw")
driver.find_element("css_selector",[id="kw"])

xpath用法:百度页面元素为例

  • 两种写法:1,绝对路径/../../..    2,相对路径 //标签[@属性=" "] 
  • and 组合条件://input[@id="kw" and @name="wd"]
  • 索引:(//input[@name='wd])[1]                                                   注意:前面加括号,索引从1开始
  • 通过爸爸找儿子://sapn[@name=" "]/input[@name=" "]
  • 通过祖先找后代://span//input
  • 通过儿子找父亲://input[@name="wd"]/..
  • 使用通配符*://*[@name="wd"]
  • 通过文本查找元素://div[@id="s-top-left"]/a[text()=" 视频 "]       注意:如果文本有空格,定位时也要加空格,或者用包含
  • 通过包含文本查找://div[@id="s-top-left"]/a[contains(text(),"视频")]
  • 轴运算:
    • 找爸爸://input[@name='wd]//parent::span
    • 找爷爷://input[@name='wd]//ancestor::form
    • 找同级哥哥://input[@name='wd]//preceding-sibling::*
    • 找同级弟弟://input[@name='wd]//following-sibling::span

css selector用法:

  • # 查找id属性: #kw   或者 [id="kw"]
  • . 查找class属性: .s_ipt  或者 [class="s_ipt"]

xpath 和 css selector的区别:

  • css选择器表达更加简洁。查找效率更高,但是功能没有xpath多,css不能上下查找,不能用text.
  • xpath查找效率更低,但是功能更加强大,可以找上下级元素,可以用text文本查找。
上一篇:安装PyTorch1.6


下一篇:i5 10600k核显相当于什么显卡