zoukankan      html  css  js  c++  java
  • selenium的定位方法-单元素定位

      selenium自动化测试中,提供了单个元素定位方法,多个元素定位方法,2种方式都是根据元素属性:ID、NAME、CLASS_NAME、TAG_NAME、CSS_SELECTOR、XPATH、LINK_TEXT、PARTIAL_LINK_TXEXT来进行定位,本文以实例作为说明

      以chrom打开百度首页为例子,右键选择-检查,打开开发者工具,点击选中搜索栏,可以定位到以下代码,以该搜索栏定位来分析单元素定位方法。 

       1.find_element_by_id:

       通过元素属性ID来定位到元素,方法是find_element_by_id,以上述输入框为例,它的ID属性是kw,代码如下:

         browser.find_element_by_id("kw").send_keys("selenium")

      2.find_element_by_name:
      通过元素属性NAME来定位到元素,方法是find_element_by_NAME,以上述输入框为例,它的NAME属性是wd,代码如下:
      browser.find_element_by_name("wd").send_keys("selenium")
      3.find_element_by_class_name:
      通过元素属性class_name来定位到元素,方法find_element_by_class_name,以上述输入框为例,它的class_name属性是s_ipt,代码如下:
      
    browser.find_element_by_class_name("s_ipt").send_keys("selenium")
    4.find_element_by_xpath:
      通过XPATH定位输入框,方法是find_element_by_xpath,获取的方式是定位到输入框的元素属性后,可以右键点击该属性,选中copy xpath选项,代码如下:
      browser.find_element_by_xpath('//*[@id="kw"]').send_keys("selenium")
     5.find_element_by_link_text:
      link_text用于对超链接的处理,在HTML代码中主要是以标签a对应,方法是find_element_by_link_text,以点击百度首页的“新闻”链接为例子,代码是<a href="http://news.baidu.com" name="tj_trnews" class="mnav">新闻</a>,那么可以使用以下方法定位:
      browser.find_element_by_link_text("新闻").click().
    6.find_element_by_partial_link_text:
      partial_link_text也用于超链接的处理,它和link_text类似,只不过是用于模糊匹配,例如匹配“新闻”,操作的时候只填写“闻”就可以定位到,方法:find_element_by_partial_link_text,代码:
      browser.find_element_by_partial_link_text("闻").click()
    7.find_element_by_css_selector:
      当使用ID、NAME属性无法定位到元素时,可以使用CSS_SELECTOR来定位,方法是find_element_by_css_Selector,还是以百度输入框为例,右键单击copy,选中copy selector,代码如下:
      browser.find_element_by_css_selector("#kw").send_keys("selenium")

     以上方法是总结单个元素定位的7种方法,个人比较喜欢使用XPATH进行定位,XPATH语法可以参考https://zhuanlan.zhihu.com/p/29436838
     
     
  • 相关阅读:
    MongoDB
    Redis:C#使用Redis
    最大化 AIX 上的 Java 性能,第 4 部分: 监视流量
    最大化 AIX 上的 Java 性能,第 3 部分: 更多就是更好
    最大化 AIX 上的 Java 性能,第 2 部分: 速度需求
    最大化 AIX 上的 Java 性能,第 1 部分: 基础
    阿里面试重点总结
    函数库学习入门指引
    OracleAWR删除历史快照说明
    ActiveMQ实现负载均衡+高可用部署方案(转)
  • 原文地址:https://www.cnblogs.com/qixc/p/11791726.html
Copyright © 2011-2022 走看看