selenium—xpath定位方法详解

这篇具有很好参考价值的文章主要介绍了selenium—xpath定位方法详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

今天我们来聊聊selenium -- xpath定位方法,我们都知道selenium有八大定位策略分别是id、name、class name、tag name、link text、partial link text、xpath、css 。那么我们今天呢主要来讲讲八大定位策略中的xpath的定位方法,废话不多说我们直接开始吧。

 同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

字节大佬教你逼自己如何在15天内掌握自动化测试(接口自动化/APP自动化/Web自动化/性能测试),内含项目实战

一、xpath基本定位用法

1.1 使用id定位 -- driver.find_element_by_xpath('//input[@id="kw"]')

xpath定位自动化脚本,python,测试工具,功能测试,职场和发展,selenium

​1.2 使用class定位 -- driver.find_element_by_xpath('//input[@class="s_ipt"]')

xpath定位自动化脚本,python,测试工具,功能测试,职场和发展,selenium

1.3 当然 通过常用的8种方式结合xpath均可以定位(name、tag_name、link_text、partial_link_text)以上只列举了2种常用方式哦。

二、xpath相对路径/绝对路径定位

2.1 相对定位 -- 以// 开头 如://form//input[@name="phone"]

xpath定位自动化脚本,python,测试工具,功能测试,职场和发展,selenium

​2.2 绝对定位 -- 以/ 开头,但是要从根目录开始,比较繁琐,一般不建议使用 如:/html/body/div/a

xpath定位自动化脚本,python,测试工具,功能测试,职场和发展,selenium

三、xpath文本、模糊、逻辑定位

3.1【文本定位】使用text()元素的text内容 如://button[text()="登录"]

xpath定位自动化脚本,python,测试工具,功能测试,职场和发展,selenium

3.2 【模糊定位】使用contains() 包含函数 如://button[contains(text(),"登录")]、//button[contains(@class,"btn")] 除了contains不是=等于 多用于display属性

xpath定位自动化脚本,python,测试工具,功能测试,职场和发展,selenium

​3.3 【模糊定位】使用starts-with -- 匹配以xx开头的属性值;ends-with -- 匹配以xx结尾的属性值 如://button[starts-with(@class,"btn")]、//input[ends-with(@class,"-special")]

3.4 使用逻辑运算符 -- and、or;如://input[@name="phone" and @datatype="m"]

四、xpath轴定位

轴运算

ancestor:祖先节点 包括父   

parent:父节点   

preceding-sibling:当前元素节点标签之前的所有兄弟节点   

preceding:当前元素节点标签之前的所有节点

following-sibling:当前元素节点标签之后的所有兄弟节点

following:当前元素节点标签之后的所有节点

使用语法: 轴名称 :: 节点名称

使用较多场景:页面显示为一个表格样式的数据列

如:

xpath定位自动化脚本,python,测试工具,功能测试,职场和发展,selenium

xpath定位自动化脚本,python,测试工具,功能测试,职场和发展,selenium

​注意:

#定位 找到元素 -- 做到唯一识别
#优先使用id
#舍弃:有下标的出现、有绝对定位的出现、id动态变化时舍弃
from selenium import webdriver
import time
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
 
from selenium.webdriver.common.by import By
 
driver = webdriver.Chrome()
 
driver.get("https://www.baidu.com/")
 
driver.maximize_window()
 
time.sleep(3)
 
# 定位百度搜索框
 
driver.find_element_by_id("kw").send_keys("python")
 
time.sleep(3)
 
driver.find_element_by_id("su").click()
 
time.sleep(5)
 
# 找到这个元素
 
ele = driver.find_element_by_xpath('//a[text()="_百度百科"]')
 
# 拖动元素到可见区域--scrollIntoView() 拉到顶部显示,有可能会被导航栏遮挡,定位不到而报错;scrollIntoView(false)可视区域底部对齐
 
driver.execute_script("arguments[0].scrollIntoView(false);", ele)
 
time.sleep(5)
 
driver.quit()

定位后的常见操作

get(url) 打开网页

send_keys(str) 输入

click() 点击

clear() 清空

text 获取标签文本内容

get_attribute('属性') 获取元素属性值

close() 关闭当前标签页

quit() 关闭浏览器,释放进程

FAQ

脚本结束如果没有调用quit()方法,chromedriver进程会在后台继续运行。大概占用4M空间。如果创建多了不关,会导致电脑卡。

__import__('os').system("taskkill /f /t /im chromedriver.exe")

总结

今天的文章就分享到这里了,喜欢的小伙伴记得点赞收藏评论加关注哟,关注我每天给你不同的惊喜。

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

xpath定位自动化脚本,python,测试工具,功能测试,职场和发展,selenium

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。文章来源地址https://www.toymoban.com/news/detail-764170.html

到了这里,关于selenium—xpath定位方法详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

    目录 一、selenium模块中的find_element_by_id方法无法使用 二、Python+selenium自动化八大元素定位方法 使用场景: 1、通过id属性定位:driver.find_element(By.ID,\\\"value\\\") 2、通过name属性定位:driver.find_element(By.NAME,\\\"value\\\") 3、通过class属性定位:driver.find_element(By.CLASS_NAME,\\\"value\\\") 4、通过tag_name属

    2024年02月19日
    浏览(47)
  • python+selenium的web自动化测试之8种元素定位方式详解

    目录 前言 单一属性定位 通过元素的id 通过元素的name 通过元素的class 通过元素的标签名 通过元素的超链接文本 通过元素的部分超链接文本 XPTH定位 CSS定位 辅助定位工具 ​ 我们在做WEB自动化时,最根本的就是操作页面上的各种元素,而操作的基础便是元素的定位,只有准确

    2023年04月16日
    浏览(55)
  • 【selenium自动化测试】如何定位页面元素,及对页面元素的操作方法

    selenium元素定位 ​selenium定位元素的方式有8种。 fild_element(by,value):by表示使用的定位方式,定位方式可以参见By类。value表示值,例如:根据id定位 By.ID,value=id属性的值。该方法返回元素对象,返回值如下: 这个返回结果说明:返回值为WebElement类的对象,元素在使用方法时

    2024年02月10日
    浏览(63)
  • 3-UI自动化-八大元素定位,xpath定位方式和相关的常问面试题

    ♡ color{red}{heartsuit} ♡ 上篇我们了解了HTML页面的结构和常用的标签和属性,介绍2-UI自动化-HTML页面的构成和常见标签、属性。小白的话建议先看看,再来学习八大元素定位。 UI自动化面试基本上逃不了这道面试题。八大元素定位。 通过id属性 通过class属性,注意,表达式中

    2024年02月08日
    浏览(42)
  • 【selenium】自动化测试中,元素无法点击定位等问题的解决:js的使用方法

    在自动化测试中经常会遇到使用selenium方法定位元素点击操作失败的情况,例如,我们想实现在浏览器输入http://www.baidu.com,进入百度首页后,鼠标悬停在“更多产品”上,点击“全部产品” 若不使用js的话,代码应该如下图所示: 我们执行代码后,发现会报错 我们该如何解

    2024年02月08日
    浏览(44)
  • 『App自动化测试之Appium应用篇』| 继承于selenium常用的元素定位方法有哪些?如何使用?

    在了解元素等位前,我们先了解下 app 的一些类型,只有了解这些 app 的类型才能针对性的选择元素定位方法; 因为不同类型的app的定位方式可能存在差异性; 我们了解到 APP 可以分为原生 APP 、 Web APP 、混合 APP 。 而原生 APP 是基于 Android 或 iOS 平台官方的语言、类库、工具

    2024年02月03日
    浏览(48)
  • selenium—xpath定位方法详解

    今天我们来聊聊selenium -- xpath定位方法,我们都知道selenium有八大定位策略分别是id、name、class name、tag name、link text、partial link text、xpath、css 。那么我们今天呢主要来讲讲八大定位策略中的xpath的定位方法,废话不多说我们直接开始吧。  同时,我也准备了一份软件测试视频

    2024年02月04日
    浏览(39)
  • Python Selenium xpath 定位方法详解

    目录 简介 使用id定位 使用class定位 其他属性定位 相对定位 绝对定位 位置索引定位 文本定位 文本模糊定位 属性值模糊匹配 使用逻辑运算符and、or -》xpath 是XML Path的简称,由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素。 -》xpath 这种

    2024年02月08日
    浏览(57)
  • 自动化测试——selenium之JS定位

    在自动化测试中,我们常用的元素定位方式有id,name,class_name,xpath,css_selector,link_text 还有不常用的tag_name,partial_link_text 其实还有js定位方法及jquery定位方法 一、js定位方法(注意书写格式及以分号结尾): 1.根据id定位 document.getElementById(\\\"id值\\\").操作方式; 2.根据ClassName定

    2023年04月27日
    浏览(47)
  • selenium自动化元素定位之下拉列表框

    目录 一、查看被测应用元素信息 二、Select的下拉框怎么定位 其思路也是获取下拉的选项框,循环遍历寻找匹配的index,找到便设置成选中属性 三、非select的下拉框如何定位?  在编写webUI自动化过程中,有些元素的定位,不能直接通过id、name等快速定位到。这些特殊的元素

    2024年02月11日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包