第五章 使用WebDriver-定位

name定位

定义和用法

  • name 属性规定 input 元素的名称。

  • name 属性用于对提交到服务器后的表单数据进行标识,或者在客户端通过 JavaScript 引用表单数据。

注释:只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。

语法

<input name="value">

name定位Python代码

find_element_by_name()

classname定位

属性的唯一性

  • 使用classname的时候应确定属性的唯一性,属性不唯一,会报错
  • 检查代码:将返回所有有这个classname的元素
    response = driver.find_elements_by_class_name("classname")
    print (response)

出现的问题及解决方法

  • 使用classname定位易出现有多个一样的类名称,定位不到目标位置
  • 所以可以使用遍历的方法实现使用classname进行定位

class name属性描述

  • 规定元素的类的名称
  • 如需为一个元素规定多个类,用空格分隔类名
  • HTML 元素允许使用多个类
  • 名称规则
    • 必须以字母 A-Z 或 a-z 开头
    • 可以是以下字符: (A-Za-z), 数字 (0-9), 横杆 ("-"), 和 下划线 ("_")
    • 在 HTML 中, 类名是区分大小写的

tag定位

tag定位缺点

  • 很难用tag定位
  • 搜索遍历过程慢

tag定位Python代码

driver.find_elements_by_tag_name("input")

link定位

link标签定义和用法

  • 定义文档与外部资源的关系
  • 最常见的用途是链接样式表

注释

  • link元素是空元素,它仅包含属性
  • 此元素只能存在于head部分,不过它可出现任何次数

link定位Python代码

driver.find_element_by_link_text()

partical link定位

partical link定位定义

  • 根据链接文本的部分进行定位

partical link定位Python代码

driver.find_element_by_partial_link_text("闻").click()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。