Игнорировать текст программы чтения с экрана в спокойствии - PullRequest
0 голосов
/ 11 октября 2019

Безмятежность возвращает текст программы чтения с экрана вместе с видимым текстом на экране. Как получить текст, который виден пользователю?

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();

enter image description here

Я использовал класс начальной загрузки Sr только для текста программы чтения с экрана. Итак, я просто хотел прочитать первый контент, который называется «Все транзакции», но безмятежность возвращает мне «Все пробелы, текущий выбор»

1 Ответ

0 голосов
/ 11 октября 2019

Используемый вами 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();
...