selenium2

1.元素定位

1.1id属性定位

  • 语法

    • driver.find_element_by_id("id属性值")

  • 用法

    • 只有当需要定位的元素有id属性的时候才能够使用(id动态,也不能使用

      排错
          1 AttributeError: 'list' object has no attribute 'get_attribute'
              定位元素返回的列表格式  原因:使用复数定位方式 find_elements
          2 NoSuchElementException  表示元素没找到   元素定位方式出现问题--属性值写错

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种定位方式定位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值