引言:看视频的时候发现好多视频使用的还是老版的元素定位方法,但是对于新版Python来说,已经弃用了之前的元素定位方法,所以在使用的时候会发现有报错,会被一条横线划掉。重新整理了一下目前使用的元素定位方法:driver.find_element(By.'方式', "xxx"),同时新方法需要导入By包。

8种元素定位方式(各举一例):

from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
# id
driver.find_element(By.ID, "username")
# name
driver.find_element(By.NAME, "keyword")
# class name
driver.find_element(By.CLASS_NAME, "login_btn")
# tag_name
driver.find_element(By.TAG_NAME, "select")
# link_text
driver.find_element(By.LINK_TEXT, "进入商城购物")
# partial_link_text
driver.find_element(By.PARTIAL_LINK_TEXT, "人资")
# xpath
driver.find_element(By.XPATH, "/html/body/div[3]/div[2]/div[3]/div/div[1]/a/img")
# css_selector
driver.find_element(By.CSS_SELECTOR, '[value="1"]')

优缺点:

  1. id 和 name:

    1. 优:易于定位元素,大多数时其属性值是唯一的
    2. 缺:很多元素没有id 和 name属性
  2. class_name 和 tag_name:
    1. 优:几乎所有元素都有class_name 和 tag_name
    2. 缺:class 和 tag的值往往不是唯一,很难精准的找到一个元素。
  3. link_text 和 partial_link_text:
    1. 特点:只能用于<a>标签
    2. 区分:
      1. link_text:用于一些<a>标签名字比较短的。
      2. partial_link_text:用于一些<a>标签名字很长,我们可以选取一部分特殊的词去定位。
  4. xpath 和 css_selector:
    1. 特点:xpath 和 css_selector几乎可以用于所有页面元素定位,都可以直接生成。但有的时候直接生成的也不是100%管用,有些情况还是需要手工去写xpath 和 css_selector。
    2. For css_selector:可以采用任意属性来定位元素,只需要在属性的两边加一对中括号即可。

❥(^_-):要是觉得有用就点个赞呀

Selenium-新八大元素定位方法(BY)相关推荐

  1. Python+selenium自动化八大元素定位方法及实例(超详细)

    目录 一.selenium模块中的find_element_by_id方法无法使用 二.Python+selenium自动化八大元素定位方法 使用场景: 1.通过id属性定位:driver.find_ ...

  2. selenium八大元素定位方法

    selenium八大元素定位方法 定位方式一 定位方式二 定位方式一 定位方式二 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与 ...

  3. 八大元素定位方法(Python/Java)

    许多不切实际的鼓励,大都是来自酒肉朋友或是远方亲戚. 小编最近在学习Web 自动化测试,所以趁热打铁,整理下相关的知识点,今天主要分享的是八大元素定位方法,无论是移动端还是web端,八大定位方法是共用 ...

  4. Selenium原理及元素定位方法(JAVA)

    Selenium原理 1.Selenium 1.0(Selenium RC): 早期的Selenium使用的是Javascript注入技术与浏览器打交道,需要Selenium RC启动一个Server ...

  5. Selenium—八种元素定位方法

    前言: 在学习元素定位之前,我们最好能懂一点html的知识.我们要能找到这些元素,然后才能操作这些元素.工具或代码无法像我们测试人员一样用肉眼来分辨页面上的元素. 一.查看页面元素 用谷歌浏览器打开百 ...

  6. selenium自动化常用元素定位方法

    一.选择界面元素 根据元素的特征选择:ID,Name,Class,TagName,link_text 根据元素的特征和关系:css,xpath 二.如何选择界面元素 1.存在ID属性的元素,可通过 i ...

  7. selenium之css元素定位方法

    一. 单一属性定位(id用"#",class用".") 1:type selector driver.find_element_by_css_selector( ...

  8. 超全面整理,Selenium 八大元素定位方式,(建议收藏反复使用)

    UI自动化测本质无非就是: 定位元素 -> 操作元素 -> 模拟页面动作 -> 断言结果 -> 生成测试报告. 所以我们做UI自动化的第一步就是定位元素,如果连元素都定位不到就 ...

  9. Selenium元素定位方法大全

    目录 一.背景 二.浏览器定位元素 三.Selenium元素定位代码 3.1 通过id定位 3.2 通过class定位 3.3 通过name定位 3.4 通过tagname定位 3.5 通过link_ ...

最新文章

  1. 8_Markdown和LaTex的使用中的一些小技巧
  2. oracle 中文查询不到,使用PLSQL查询Oracle语句中文无法匹配问题解决
  3. Windows下使用ffmpeg为视频添加字幕
  4. 用ajax的方法获取列表,用ajax从服务器获取列表数据,为什么getElementsByTaName('li')的长度为0呢...
  5. 中文pppoe中文拨号的解决方案
  6. 小程序登录及用户信息和手机号的获取
  7. 【iOS QR Code】集成ZXingWidget(XCode Version 4.5.2,iOS 6.0 SDK)
  8. 如何在Linux中使用sFTP上传或下载文件与文件夹
  9. “Java Web 程序设计”心得体会
  10. 计算机上u盘打不开,u盘打不开怎么办,插在电脑上有显示,但是打不开?
  11. 51单片机带闹钟c语言程序,51单片机编写的闹钟程序
  12. 十大蓝牙耳机排名,2021性价比蓝牙耳机
  13. 配置文件报错 Cannot convert value of type ‘java.lang.String‘ to required type ‘javax.sql.DataSource‘ for p
  14. 微信公众号推文各标签含义
  15. java jpeg rpg_史上最骚RPG制作第三期 java端数据的插入和查询
  16. 华为智慧屏鸿蒙系统深度评测,高端技术下放毫不吝啬!华为智慧屏SE系列评测:鸿蒙OS让入门大屏也好用...
  17. 音频重采样ffmpeg(九)
  18. PHP项目的发布(部署)
  19. 开源框架springboot-mybatis-wr-separation实现springboot+mybatis读写分离
  20. (二)亚马孙或当当网在线电子书的购买与转换:改善C#的157个建议、改善C++的150个建议、改善JavaScript的150个建议、改善Java的151个建议

热门文章

  1. 后台管理系统权限管理实现步骤
  2. 酷派n3c有没有英文语言,联发科CPU的手机便宜的多,21克M2C、酷派锋尚N3C配置、报价对比...
  3. Spring-Springmvc-Mybatis框架整合
  4. 8.Hive基础—函数—系统内置函数、常用内置函数、自定义函数、自定义UDF函数、自定义UDTF函数
  5. netty源码分析5-NioEventLoopGroup
  6. SpringBoot + MyBatis 的整合
  7. [three] | 基于 maptalks + three 大屏水墨风格场景
  8. DM数据库找不到表?
  9. 淘淘商城第28讲——解决KindEditor上传图片浏览器兼容性问题
  10. Ubuntu20重启后桌面图标变大了