八大元素定位方法

四、元素定位
   4.1 为什么要使用元素定位?
      要使用web自动化操作元素,必须首先找到此元素。
   4.2 定位工具
      火狐:Firebug (F12获取直接点击 Friebug图标)
      谷歌:F12键(开发者工具)
   4.3 定位元素时依赖于什么?
      1. 标签名
      2. 属性
      3. 层级
      4. 路径
      
   4.4 定位方式
      1. id
      2. name
      3. class_name(使用元素的class属性定位)
      4. teg_name(标签名称 <标签名 .../>)
      5. link_text(定位超连接 a标签)
      6. partial_link_text(定位超链接 a标签 模糊)
      7. xpath(基于元素路径)
      8. css(元素选择器)
      
      汇总:
         1. 基于元素属性特有定位方式(id\name\class_name)
         2. 基于元素标签名称定位:tag_name
         3. 定位超链接文本(link_text、partial_link_text)
         4. 基于元素路径定位(xpath)
         5. 基于选择器(css)
         
   id 定位:
      说明:
         1. 通过元素的id属性定位,id一般情况下在当前页面中是唯一。
      方法:
         driver.find_element_by_id(id)
      提示:
         元素必须要有id属性。
         
      案例:
         # 导包 
         # 获取浏览器驱动对象
         # 打开url 
         # 查找用户名文本框
         # 查找密码框文本框
         # 输入用户名
         # 输入密码
         # 暂停3秒
         # 关闭驱动
      提示: 
         1. 输入方法:send_keys("输入内容");
         2. 退出浏览器驱动:driver.quit();
         3. 打开url: driver.get(url)
         4. 导包:from selenium import webdriver
         5. 获取火狐浏览器驱动对象 driver = webdriver.Firefox()
         
   name 定位: 
      说明:
         1. 通过元素的name属性来定位, name一般名称为重复。
         
      方法: 
         drivr.find_element_by_name(name)
      提示: 
         元素必须要有name属性 
         
   class_name定位:
      说明: 
         1. 通过元素的class属性来定位,class属性一般为多个值。
      方法: 
         driver.find_element_by_class_name()
      
      提示: 
         元素必须要有class属性
         
   提示: 
      id: 一般为唯一标识符。
      name:可以重名
      class:多个命名。

相关推荐

  1. 元素定位方法

    2024-04-30 01:20:03       33 阅读
  2. Selenium(一):元素定位

    2024-04-30 01:20:03       32 阅读
  3. UI自动化中元素无法定位问题解决方法

    2024-04-30 01:20:03       57 阅读
  4. Selenium WebDriver提供By.CSS_SELECTOR定位元素方法

    2024-04-30 01:20:03       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-30 01:20:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-30 01:20:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-30 01:20:03       82 阅读
  4. Python语言-面向对象

    2024-04-30 01:20:03       91 阅读

热门阅读

  1. ASIM复现相关知识补充

    2024-04-30 01:20:03       31 阅读
  2. LeetCode 刷题 -- Day 6

    2024-04-30 01:20:03       34 阅读
  3. 保护您的连接:无线网络安全探究

    2024-04-30 01:20:03       36 阅读
  4. vue的build先上部署的 devServer不生效的场景记录

    2024-04-30 01:20:03       34 阅读
  5. 乐观锁和悲观锁

    2024-04-30 01:20:03       37 阅读
  6. [SQL系列]从零开始学Clickhouse——集群篇

    2024-04-30 01:20:03       36 阅读
  7. stable diffusion本地部署顺序

    2024-04-30 01:20:03       36 阅读
  8. Flink on k8s 入门实战

    2024-04-30 01:20:03       37 阅读
  9. transformer上手(12)—— Prompting 情感分析

    2024-04-30 01:20:03       31 阅读
  10. LeetCode 刷题 -- Day 7

    2024-04-30 01:20:03       34 阅读
  11. yum的安装与部署

    2024-04-30 01:20:03       37 阅读