Selenium 单选框的元素可以定位到,不能点击,该怎么解决

testjson · 2024年03月14日 · 最后由 testjson 回复于 2024年03月18日 · 4481 次阅读

span,label,input 标签都试了无法点击

共收到 18 条回复 时间 点赞

用 xpath

直接点击【专车】【拼车】呢?

ShaJoe 回复

定位元素就是用的 xpath

CmYzzZ 回复

试过了不行

让前端帮忙改下,点击「专车」「拼车」两字,也能实现单选框勾选

你这个 span 也没展开到最里一层啊,思路是先从专车这个 text 文本元素往上找,/..这个就是父层,你没完全展开不知道有几个父曾,自己加吧。然后到 class 包含单选框元素 el-radio_inner,至于这个 is-checked 属性可以自己根据业务逻辑选择是用 contains() 还是@class=,定位模板://星号 [text()='专车']/..//星号 [contains(@class,'el-radio_inner')],星号指的是数字 8 上面的星号,这回复咋还把星号 * 吞了?

空空 回复

因为回帖格式默认是 markdown,星号是特殊标记格式。。。

会不会因为这个组件是第三方的,elment-ui,可能有自己的方法控制点击事件

看下有没 iframe,好久没搞 web 自动化了😁

然后看下这个元素的可见属性与可点击属性是否是 true

需要定位这种 span 元素,class 属性包含了 is-checked 的。😀

使用 js 点击

ShJiie 回复

已经解决了,还是定位写的不对

空空 回复

解决了,我是已 label 为基础往上找父级再往下找
//label[@for='VehicleType']/../div/div/div/label[2]/span[1]/span

NeilLiang 回复

解决了,不是,是我定位写的有问题,原来用的绝对定位,改成了相对定位问题解决

Time 回复

问题解决了,不是 iframe,是定位写的有问题

TestNovice 回复

解决了,//label[@for='VehicleType']/../div/div/div/label[2]/span[1]/span

梧桐 回复

解决了,定位写的有问题,//label[@for='VehicleType']/../div/div/div/label[2]/span[1]/span

testjson 关闭了讨论 03月18日 15:23
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册