首页 > 其他分享 >Selenium-元素定位的方法

Selenium-元素定位的方法

时间:2023-05-20 15:57:43浏览次数:29  
标签:定位 Selenium 元素 driver element 标签 find

在使用selenium进行自动化时,定位元素是一项常见而重要的任务。准确地选择元素是测试流程中的关键一步。
本文将介绍常用的元素定位方法,帮助你更好地理解和应用这些方法。

选择元素的方法

元素的定位方法有多种,可以根据元素的特征进行选择。下面是一些常用的元素定位方法:

  1. ID定位:使用标签的ID属性来定位元素。语法如下:

    元素对象 = driver.find_element_by_id('id属性值')
    
  2. 据name属性:使用标签的name属性来定位元素。如果页面存在多个相同的name属性,默认使用第一个匹配的元素。语法如下:

    元素对象 = driver.find_element_by_name('name属性')
    
  3. class_name定位:使用标签的class属性来定位元素。一个标签可以有多个class属性值,多个class属性值之间使用空格隔开,但在定位时只能选择其中一个。语法如下:

    元素对象 = driver.find_element_by_class_name('class属性值')
    
  4. Tag_name定位:使用标签的名称来定位元素。语法如下:

    元素对象 = driver.find_element_by_tag_name('标签名')
    
  5. link_text定位:只能用于超链接标签(a标签),根据a标签的全部文本内容来定位。语法如下:

    元素对象 = driver.find_element_by_link_text('a标签的全部文本内容')
    
  6. partial_link_text定位:只能用于超链接标签(a标签),根据a标签的部分文本内容来定位。语法如下:

    元素对象 = driver.find_element_by_partial_link_text('a标签的部分文本内容')
    
  7. xpath路径表达式:使用xpath来定位元素,是最常用的定位方法之一。语法如下:

    元素对象 = driver.find_element_by_xpath('xpath路径表达式')
    
  8. css选择器选择:使用CSS选择器来定位元素,也是常用的定位方法之一。语法如下:

    元素对象 = driver.find_element_by_css_selector('css选择器选择')
    
    

    示例代码

    以下是一个示例代码,展示了如何使用上述定位方法:

    # 导包
    from selenium import webdriver
    import time
    
    # 创建浏览器驱动对象
    driver = webdriver.Chrome()
    
    # 打开要测试的页面
    driver.get("https://www.baidu.com/")
    
    # 书写具体的业务步骤(用例的步骤)
    # 输入关键字"ui自动化",点击搜索按钮
    driver.find_element_by_id('kw').send_keys('ui自
    
    

请注意,Selenium在版本4之后,find_element_by*方法被标记为过期不推荐使用的写法,推荐使用find_element结合By类来定

标签:定位,Selenium,元素,driver,element,标签,find
From: https://www.cnblogs.com/CCX330/p/17417306.html

相关文章

  • Python selenium
    初始化webdriveropts=webdriver.chrome.options.Options()#无头模式opts.add_argument("--headless")opts.add_argument("--disable-gpu")#驱动地址driver_path=os.path.join(os.path.dirname(__file__),"./driver/chromedriver.exe"......
  • 类 方法中实现查找某元素是否在数组中的操作
    publicclassImoocStudent{publicbooleancontains(int[]arr,intelement){booleanresult=false;for(intvalue:arr){if(value==element){result=true;break;}......
  • Vue.js学习记录之在元素与template中使用v-if指令实例(转贴)
    语法比较简单,直接上代码:<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <title></title> <scriptsrc="https://cdn.bootcss.com/vue/2.2.2/vue.......
  • Android 百度地图GPS获取定位经纬度
    首先进入百度地图官网,点击开发文档-->Android定位SDK-->获取密匙,进入应用创建界面,创建新的应用。准备好后,在“产品下载”栏目下载Android定位的包,将其打包放入项目中的libs文件目录。之后就需要在AndroidManifest.xml中添加APK,在Application标签中添加:<meta-dataand......
  • DetGPT:看图聊天跨模态推理定位及落地复杂场景
    本文转自机器之心,作者港科大LMFlow团队&港大NLP实验室。一直以来,人类梦想着机器人能够辅助人类处理生活和工作的事情。“请帮我调低空调的温度”,甚至“请帮我写一个商城网站”都在近年来的家居助手和OpenAI发布的Copilot上得以实现。GPT-4的出现,进一步为我们展示了多模......
  • python+playwright 学习-63 table表格定位
    前言定位table表格内容以及获取table表格数据。table表格场景网页table表格示例table页面有这几个明显的标签:table、tr、th、td<table>标示一个表格<tr>标示这个表格的一行</th>定义表头单元格</td>定义单元格标签,一组<td>标签将将建立一个单元格,<td>标签必须放......
  • 通过java执行导出命令,导出dup数据文件到指定位置
    /***1.通过java执行导出命令,导出dup数据文件到指定位置*2.清空表数据,为下一次解析准备*/publicvoidexpDupDataByJaveProcess(){booleansuccess=true;//导致是否成功标识,成功修改为falseStringcmdSql="";//导出命令语句......
  • python中对列表元素大小排序(冒泡排序法,选择排序法和插入排序法)—排序算法
    前言排序(Sorting)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。本文主要讲述python中经常用的三种排序算法,选择排序法,冒泡排序法和插入排序法及其区别。通过对列表里的元素大小排序进行阐述。一、选择排序法选择......
  • 使用details和summary元素实现树形展示
    1.先看效果2.默认是关闭的,并且父级关闭后,子级的开关状态会被保留,再次展开时,可恢复;3.需要对details元素增加一个padding-left或margin-left,否则展开后,子级和父级是左对齐的,视觉效果不好;4.一般是details元素套一个summary元素和一个展开后要展示的内容,如果details中没有sum......
  • web自动化测试入门篇04——selenium+python基础方法封装
      ......