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
     
     
  • 相关阅读:
    js 判断多个一样的name
    VisualSVN Server的配置和使用方法 图文
    file get contents 访问不了域名原因
    js confirm函数 删除提示
    关于PHP的curl开启问题
    重置svn地址
    google 火狐 模拟显示手机页面插件
    开启Apache mod_rewrite模块完全解答
    zend studio 9.0.4 破解、汉化和字体颜色及快捷键相关设置
    zend studio 8 修字体和大小
  • 原文地址:https://www.cnblogs.com/qixc/p/11791726.html
Copyright © 2011-2022 走看看