2、元素定位

作者: f5423d3134f0 | 来源:发表于2020-11-30 14:01 被阅读0次

    selenium_day_2

    1.元素定位

    1.1id属性定位

    • 语法
      • driver.find_element_by_id("id属性值")
    • 用法
      • 只有当需要定位的元素有id属性的时候才能够使用(id动态,也不能使用)

    1.2name属性定位

    • 语法
      • driver.find_element_by_name("name属性值")
    • 用法
      • 只有当需要定位的元素有name属性的时候才能够使用(name动态,也不能使用)

    1.3class属性定位

    • 语法
      • driver.find_element_by_class_name("class属性值")
    • 用法
      • 只有当需要定位的元素有class属性的时候才能够使用

    1.4tag标签定位

    • 语法
      • driver.find_element_by_tag_name("标签名")
    • 用法
      • 当页面中有唯一的标签
      • 当页面中有多个相同标签的元素时
        • find_element 默认定位第一个
        • find_elements 定位所有相同名称的标签
          • 遍历使用

    1.5超链接定位

    • 语法
      • link_text 全部文本
      • partial_link_text部分文本----连续
    • 用法
      • 定位超链接,partial_link_text作为link_text的补充

    1.6xpath定位

    • 语法
      • selenium中语法
        • driver.find_element_by_xpath("xpath表达式")
      • xpath表达式
        • 标签+属性
          • //标签名[@属性名="属性值"]
        • 层级定位
          • //父标签[@父标签属性名="父标签属性值"]/子标签
        • 索引
          • //父标签[@父标签属性名="父标签属性值"]/子标签[索引值] --索引值从1开始
        • 逻辑
          • and
            • //标签名[@属性名1=属性值1 and @属性名2=属性值2 and ...]
        • 模糊匹配
          • contains
            • //标签名[contains(@属性名,属性值/部分属性值)]
    • 用法
      • 当常用方法都无法对元素进行定位的时候,xpath定位方法

    1.7 css_selector定位

    • 语法
      • driver.find_element_by_css_selector("css表达式")
      • css表达式
        • id,class属性
          • # 表示id # id属性值
          • . 表示class .class属性值
        • 其他属性
          • [属性名=属性值]
        • 标签+属性
          • 标签名[属性名=属性值]
        • 层级
          • 父标签[父标签属性名=父标签属性值]>子标签
        • 索引
          • 父标签[父标签属性名=父标签属性值]>子标签:nth-child(索引值)
        • 逻辑(and)
          • 标签名[属性名1=属性值1][属性名2=属性值2]
        • 模糊匹配
          • 标签名[属性名*=部分属性值]

    2.元素操作

    2.1基本操作

    • 清空
      • 元素.clear()
    • 输入
      • 元素.send_keys("输入的内容")
      • 先清空再输入
    • 点击
      • 元素.click()

    2.2其他操作

    • 获取元素文本
      • 元素.text
    • 获取元素属性
      • 元素.get_attribute("属性名")

    多用来自动化测试用例中的实际结果

    • 判断元素是否可见
      • 元素.is_displayed() 返回布尔值
    • 判断元素是否可用
      • 元素.is_enabled() 返回布尔值

    作业day_2

    1.手抄课堂代码1遍

    2.敲2遍

    3.注册A页面前9个元素,每个元素至少使用8种定位方式定位

    相关文章

      网友评论

        本文标题:2、元素定位

        本文链接:https://www.haomeiwen.com/subject/cvylwktx.html