首页 > 其他分享 >细节拿捏xpath定位

细节拿捏xpath定位

时间:2022-09-28 15:02:25浏览次数:64  
标签:xpath 定位 标签 element 拿捏 细节 绝对路径 属性

  • 6.xpath定位方式:表示的由xml(extend markup language)可扩展标记语言,也是由一系列标签所构成,主要是实现数据文件(用于做配置文件))+path,以xml格式的树状结构形式进行递归逐级定位
    •   xpath的定位方式两种方式:绝对路径定位、相对路径定位
    •   绝对路径:从顶级父标签到当前标签的整个结构过程称之为绝对路径;
        •     在使用绝对路径时,如果同级中存在多个相同的标签的话,则通过索引进行具体选择(其索引的初始值是从1开始);但是在实际脚本开发过程中,一般不用,因为如果使用绝对路径则跨度较大,只需要页面稍微修改结构则整个定位失败;(稳定性极差)
    •   相对路径:表示的是相当于当前标签而言;  
        •     i.属性定位语法://标签名[@属性名=属性值]
            •     注意:1.标签名可以具体,也可以使用*(表示的任意标签,定义的范围会比具体的标签更广,可能定位多个对象) 2.属性值如果是字符串的话则需要使用引号;
            • value='//*[@id="uname"]'
        •     ii.使用逻辑运算符进行实现多个属性的定位:and or 
            • 例子:
              //input[@id="uname" and @class="text"]
            • 但是一般组合的属性不会超过2个,因为设定属性过多其脚本的依赖性越高;
        •     iii.嵌入函数完成xpath定位:
            • 1.文本函数定位://标签名[text()=对应标签的文本内容]2.包含函数定位:
              •   文本内容中是否嵌入标签、文本内容表示的完整文本;
              • 例子:
                # 如果定位得到其中的一个元素,则该对象可以获取所有的其他属性信息
                get_element=driver.find_element(by=By.XPATH,value='//label[text()="请输入密码"]')
                print(get_element.get_attribute("class"))
            • 2.包含函数定位://标签名[contains(@属性名,对应属性值的部分值)]
              • 例子:  
                #3.通过属性值中的部分值进行定位
                driver.find_element(by=By.XPATH,value='//input[contains(@id,"na")]').send_keys("admin")
            • 3.以指定字符开头定位://标签名[starts-with(@属性名,对应属性名的前面部分值)]
            • 例子:
            • #4.以指定字符开头定位
              driver.find_element(by=By.XPATH,value='//input[starts-with(@id,"un")]').send_keys("admin")
            • 4.以指定字符结尾定位://标签名[ends-with(@属性名,对应属性名的前面部分值)]
            • 说明:一般starts-with,ends-with都可以使用contains完成;

标签:xpath,定位,标签,element,拿捏,细节,绝对路径,属性
From: https://www.cnblogs.com/lirongyu-test/p/16738054.html

相关文章

  • 字符类型的使用和字符细节
    1、字符常量是用单引号(‘’)括起来的单个字符。如charc='a';charc2='中';2、Java中允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量,例如charc3='\n';(......
  • 9-26 细节 代理和接口
     虚幻中强转类型 //没有继承关系的强转 //有继承关系的强转      将字符串转为Int LocalPlayerSubsystem  //与世界相关的子系统    ......
  • 视频融合平台EasyCVR设备经纬度信息填写的细节优化
    在EasyCVR平台中,每个设备都可以添加设备所在的经纬度地址,并在电子地图上可以查看到对应的地理位置信息。在上期文章中,我们介绍了关于当通道填写为非法经纬度信息时,设备将定......
  • 浮点类型及使用细节
    单精度float双精度double浮点数再机器中存放形式简单说明,浮点数=符号位+指数位+尾数位尾数部分可能丢失,造成精度损失 1、java浮点类型有固定的范围和字段长度,......
  • 整型细节
    1、java各整数类型有固定的的范围和字段长度,不受具体OS影响,以保证java程序的可移植性2、java的整型常量默认为int型,声明long型常量必须加“l”或“L”3、java程序中变量......
  • Pest24实验部分细节总结
    1.整体实验部分实验应用了四种最先进的深度学习方法,即。两个两阶段检测器,FasterRCNN(Ren等人,2015)和CascadeRCNN,Cai和Vasconcelos,2018),以及两个一阶段检测器,SSD(Liu等人,2015......
  • golang程序健壮性相关细节
    结构体定义1、请问下面输出是什么packagemainimport("fmt")funcmain(){l:=get()fmt.Printf("%p",l)fmt.Printf("%p",l.List)for......
  • Xpath 高级用法
    xpath高级用法1.匹配当前节点下的所有:.//.表示当前//表示当前标签下的所有标签注:要配合使用2.匹配某标签的属性值:/@属性名称这里以input里的value值为例......
  • Mybatis-Plus 容易忽视的细节--save方法
    雷大佬的方法new实体在迭代过程中逐条save(实体)实体.get主键->进一步业务逻辑我的天真想法new实体内心OS:“为啥单独save,不是有saveBatch()?”实体.get主键->进一......
  • iOS NSBundle读取本地文件细节
    拖入文件夹到工程时,勾选CreateGroups时Xcode文件夹显示为默认颜色,默认文件夹下的文件都会添加到当前target下的bundle里,所以文件将不具备真实目录的结构,直接读取文......