selenium - 安静地忽略屏幕阅读器文本
问题描述
宁静正在返回屏幕阅读器文本以及屏幕中的可见文本。如何获取用户可见的文本?
public static Target TransactionTypeOption = Target.the("Transaction Type options").located(By.xpath("//ipb-dropdown[@class='type-dropdown ']//li//div"));
List<String> options = Text.of(TransactionTypeOption).viewedBy(actor).asList();
我已将 bootstrap Sr-only 类用于屏幕阅读器文本。所以,我只想阅读第一个内容是“所有交易”,但宁静正在返回我“所有交易空白,当前选择”
解决方案
您正在使用的 XPath 正在选择div
,它还会拾取 下的一些文本div
,在本例中就是, current selection
这样。我之前在 Selenium 中看到过这个问题,唯一的解决方案是处理代码中的额外文本。
public static Target TransactionTypeOption = Target.the("Transaction Type options").located(By.xpath("//ipb-dropdown[@class='type-dropdown ']//li//div"));
string textToFilterOut = driver.findElement(By.xpath("//span[@class='sr-only']")).getText();
List<String> options = Text.of(TransactionTypeOption).replace(textToFilterOut, "").viewedBy(actor).asList();
推荐阅读
- c++ - Boost Interprocess:托管共享内存错误
- maven - lein jar 包含 project.clj 和 pom.xml
- c# - 从父 .xaml 文件中引用 resourceDictionary
- java - 如何防止 do while 循环重置?
- python - 打包 xlwings 错误导入 UDF
- javascript - Webpack 中的动态导入:可以在子文件夹之间分配块吗?
- python - Python蛮力密码猜测器
- java - Spring CriteriaBuilder 按名称搜索枚举
- python - 从python中的列表中删除重复项
- view - 使用 CouchDB 中的视图按过滤器搜索