Selenium selenium 如何从多个单选框中选择指定单选框?

狂天 · 2022年03月04日 · 最后由 狂天 回复于 2022年03月18日 · 3274 次阅读

做 UI 自动化时遇到这种单选列表中,选择指定框的用例(比如我要选图片中的 zhangwang1)。

因为单选框列表会改变(新增),所以我想选固定的一个的话就不能通过位置来选择了。


我观察了一下页面代码,这里的布局结构是两个 span,一个 span 是单选框,另一个是单选框后面的文字。

请教一下各位大佬,我用该如何从这些单选框中,选择到指定的单选框(zhangwang1)?

共收到 8 条回复 时间 点赞

这种 css 应该不行,只能 xpath

//*[contains(text(), "zhangwang1")]

OK,感谢大佬

大佬再请教一下,我直接用 contains text 的话没法定位到我要的那个,因为页面中有 5 个叫"zhangwang1"的。
这 5 个的 xpath 如下图:

我要的是最后一个,我该如何从中选出它来?

//span[@class='ivu-radio']/span[@text='zhangwang1'] 可以试下,很久没玩 selenium 了😂

Time 回复

不成,没查出来,感谢大佬了

狂天 回复

用 find——elements 找到一个数组,最后一个就是数组最后一个吧

Time 回复


//span[@class='ivu-radio']/span[@text='zhangwang1'] 我这边看错了 @class='ivu-radio' 和你想要的 zhangwang1 元素是同级
所以把 //span[@class='ivu-radio'] 部分内容改成能确定到你要的 span 的上级就可以了,你这边截图内容没显示全

self.find_xpath('//*[contains(text(), "zhangwang1")]')[4].click()
终于点到了,感谢大佬

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册