selenium - 当基于突出显示的下拉列表更改类时如何选择 Selenium web Element
问题描述
我有一个下拉选择,类会根据鼠标在下拉值上的移动而变化(活动值)
我尝试了以下代码,它适用于“个人”
driver.findElement(By.cssSelector("div[class=ui-menu-item-wrapper]")).click();
如果您看到屏幕截图,个人和公司的“ui-menu-item-wrapper”类是相同的。
问题:我不确定如何使用 cssSelector 选择个人或公司。我想从 excel 数据馈送中给个人或公司。
解决方案
这是使用 xpath 选择的选项。
Xpath:
//ul[starts-with(@class,'ui-menu') and @role='combobox']//div[normalize-space(.)='" + valueFromExcel +"']
//ul[starts-with(@class,'ui-menu') and @role='combobox']//div[normalize-space(.)='Individual']
在这种情况下,使用 xpath 既简单又直接,因为您计划使用文本来识别 CSS 不支持的元素。
尽管如此,如果您想坚持使用 CSS,那么您必须使用 css 获取每个元素文本,然后nth
在文本匹配时选择元素。
推荐阅读
- pdf - Pandoc,为打印目的制作 PDF,链接到脚注
- angular - 在角度循环中使用路由器插座
- java - It does not total the value given by total=i1+i2+i3+i4+i5; t17.setText(String.valueOf(total));it always show 0 at t17
- flutter - 即使使用 MediaQuery.of(context),不同设备的小部件大小也不一致
- typescript - 如何告诉 TypeScript:这个泛型类型必须是字符串?
- ruby - 选择循环内的 RSpec 模拟方法
- svn - 将 svn 存储库复制到不同的服务器,仍然可以合并
- jquery - 从 1.12 迁移到 3.0 - 使用取消绑定并单击示例
- c# - 使用 .NET Core 的 Entity Framework 更新我的单独 DAL 模型的任何方式
- dialog - 启用键盘快捷键以确认 AppleScript 中的对话框