zoukankan      html  css  js  c++  java
  • selenium8种常用元素定位简介

    1.ID定位

    元素id的值在当前整个HTML页面当中是唯一的,所以可以通过id属性来唯一定位这个元素

    示例代码:

    driver.find_element_by_id("kw)

    注意有些系统中元素id每次访问都不一样,这种情况下就不适合用id来定位元素。

    2.name定位

    示例代码:

    driver.find_element_by_name("wd")

    3.class name定位

    元素的class属性主要是来元素进行分组,并对这一级的元素设置相同的样式。

    示例代码:

    driver.find_element_by_claa_name("s_ipt")

    注意:class属性有空格隔开时,应只保留隔开一部分作为定位参数,如“<a href="//ke.qq.com" class="header-index-logo js-header-index-logo" report-tdw="action=rainbow-logo-clk" title="腾讯课堂_专业的在线教育平台"></a>”

    错误的classname定位方式:

    driver.find_element_by_class_name("header-index-logo js-header-index-logo")

    正确的classname定位方式为:

    driver.find_element_by_class_name("header-index-logo")
    #或者
    driver.find_element_by_class_name("js-header-index-logo")
    

      

    4.tag name定位

    示例代码:

    driver.find_element_by_tag_name("a")
    

    5.link定位

    链接文本内容全部匹配,如<a href="//ke.qq.com/course/373394" target="_blank" class="item-tt-link" title="高中数学寒假冲刺班" report-tdw="action=Coursecard_Coursesname-clk&amp;ver1=373394&amp;ver3=custom-course.高中免费体验课.1.2" cors-name="course"></a>“”

    示例代码:

    driver.find_element_by_link_text("高中数学寒假冲刺班")
    

    6.partial link定位

    链接文本内容部分匹配

    示例代码:

    driver.find_element_by_partial_link_text("高中数学")
    

    7.xpath定位

    前面6种定位方式都是针对元素的单一属性来定位的,实际应用中经常需要组合以上各种情况才能定位到一个元素。

    xpath和css定位就能实现各种组合,基本可以覆盖所有元素的定位。

    示例代码:

    driver.find_element_by_xpath("//img[@class="tang-pass-qrcode-img"])
    

    8.CSS定位

    示例代码:

    driver.find_element_by_css_selector('.ant-modal-body>span[class*="ant-select"]')
    

     当我们想在页面中找到一组元素,比如当前页面中的所有链接时,我们可以用find_elements_by_name(class_name/tag_name/link_text/partical_link_text/xpath/css_locator)来定位。

    此函数返回的是一个列表,列表中存储的是符合定位表达式的所有元素。

    关于xpath定位的方法,后面会有单独一篇文章来详细介绍。

     

  • 相关阅读:
    人件阅读笔记之三
    明日计划:团队开发Fooks第十天
    明日计划:团队开发Fooks第九天
    明日计划:团队开发Fooks第八天
    明日计划:团队开发Fooks第七天
    明日计划:团队开发Fooks第六天
    优先队列
    KMP
    django-中间件
    Ajax--参数,csrf跨站请求伪造,serialize(),上传文件formdata
  • 原文地址:https://www.cnblogs.com/123blog/p/12464060.html
Copyright © 2011-2022 走看看