selenium - 无法使用 preceeding-sibling 识别元素
问题描述
该站点 - https://www.jqueryscript.net/demo/Drop-Down-Combo-Tree/显示“多选”选项供用户选择不同的选项。
我已经确定了选择 'Choice 6 2 3' 的 xpath,即 (//span[text()='choice 6 2 3'])[1]
此外,我还确定了该元素的父元素,即 (//span[text()='choice 6 2 3'])[1]//parent::li[@class='ComboTreeItemChlid']
从这里,如何使用前兄弟概念选择“选择 6 2 2”?
我尝试使用 (//span[text()='choice 6 2 3'])[1]//parent::li[@class='ComboTreeItemChlid']//preceeding-sibling::li 但什么也没显示。
解决方案
对于您的元素,只有一个父 li 而不是哪个类,实际上ComboTreeItemChlid
我在页面中找不到该类的任何 li。无论如何,当您使用父节点时,无需提及任何属性,并且在 xpath 下方preceding-sibling
将选择选项Choice 6 2 2
//span[text()='choice 6 2 3']//parent::li//preceding-sibling::li[1]
选择选项Choice 6 2 1
//span[text()='choice 6 2 3']//parent::li//preceding-sibling::li[1]
推荐阅读
- javascript - “Uncaught TypeError: seat[Symbol.iterator] is not a function”是什么意思?
- r - F# R 类型提供程序 - Anova:具有因子和错误的公式
- flutter - MissingPluginException(No implementation found for method init on channel plugins.flutter.io/google_sign_in) 如何在flutter中解决
- python - 可以创建一个钩子来在 pyinstaller 执行中发送电子邮件吗?
- android - 在android studio中使用camara检测颜色
- rest - 如何识别 REST 服务的浏览器和后端消费者
- javascript - 单击复选框时如何添加动态texfield?
- javascript - Typescript异步函数中的“UnhandledPromiseRejectionWarning:无法读取未定义的属性”
- flutter - 将 Firestore DocumentSnapshot 映射到类中的属性
- javascript - 删除重复后数组为空