博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python selenium ——— 动态id、class定位
阅读量:7048 次
发布时间:2019-06-28

本文共 586 字,大约阅读时间需要 1 分钟。

什么样的是动态id呢?

动态id就是第一次点击显示的id与二次点击显示的不一样,一般是元素属性中包含一段数字的这种情况。

类似这种:

1  

这种情况,个人觉得比较简单的定位方法是用XPath来根据部分元素属性定位即模糊定位:

有三种情况:

 1  driver.find_element_by_xpath("//input[starts-with(@id,'btncusse')]").click()

 2  driver.find_element_by_xpath("//input[contains(@id,'btncusse')]").click()

 3  driver.find_element_by_xpath("//input[ends-with(@id,'btncusse')]").click()

解释一下:

btncusse:这个是id中不变的部分字符串;

starts-with:是id中以不变的部分字符串开头;contains:是id中包含不变的部分字符串;ends-with:是id中以不变的部分字符串结尾;

[]中括号前面,前面的input,是根据本条代码的Html标签决定的 。

**所用的是python selenium与Chrome浏览器**

转载于:https://www.cnblogs.com/songqh-123/p/8522298.html

你可能感兴趣的文章
EF架构~数据分批批量提交
查看>>
MVC+LINQToSQL的Repository模式系列~目录
查看>>
信号和槽:Qt中最差劲的创造
查看>>
design_model(1)singleton
查看>>
leetcode Majority Element
查看>>
treap模板
查看>>
vue组件通信之任意级组件之间的通信
查看>>
bootstrap2.02 notice
查看>>
Android Fragment的使用(1)
查看>>
OpenStack 物理资源问题
查看>>
torque dts格式大概分析
查看>>
0/1 分数规划
查看>>
第 6 章 Cinder - 045 - 理解 Cinder 架构
查看>>
对于IE6版本图片透明。
查看>>
bash shell for循环
查看>>
kettle-作业和参数
查看>>
彭旭老师的简介
查看>>
maven仓库添加自己的jar包
查看>>
js判断手机端Android手机还是iPhone手机
查看>>
win8系统向VS2010中添加SQLServer 2008
查看>>