Я надеюсь, что вы можете мне помочь.Java Selenium - найти строковый текст из нескольких div с тем же именем класса, используя xpath
Я обсуждал здесь всевозможные форумы и вопросы о том, как циклически перебирать несколько div с тем же именем класса, используя запросы xpath. Я довольно новичок в WebDriver и Java, поэтому я, вероятно, не задаю вопрос правильно.
У меня есть таблица, где я пытаюсь определить значения внутри и убедиться, что они верны. каждое поле имеет тот же идентификатор класса, и я в состоянии успешно оттянуть первый результат и подтвердить с помощью протоколирования отчетов с использованием следующего
String className1 = driver.findElement(By.xpath("(//div[@class='table_class'])")).getText();
Reporter.log("=====Class Identified as "+className1+"=====", true);
Однако, когда я затем попытаться перебирать (я видел множественный ответы говорят, чтобы добавить суффикс [2] для запроса XPath) я получаю ошибку компиляции:
String className2 = driver.findElement(By.xpath("(//div[@class='table_class'])")[2]).getText();
Reporter.log("=====Class Identified as "+className2+"=====", true);
выше дает ошибку о том, «Тип выражения должен быть типом массива, но он решил По «
Я не уверен на 100%, как структурировать это или чтобы настроить массив, а затем выполнить цикл.
Хотя это просто проверка метки полей в настоящее время, в конечном счете, мне нужно использовать этот подход, чтобы проверить последующие данные, которые вытягивают через, и я буду иметь такую же проблему, то
Есть ли причина, вы хотите использовать XPath или вы могли бы использовать CSS селекторы? – Corporalis
Нет особых причин для использования xpath над селекторами css, но многие вещи, которые я читал в Интернете, все используют xpath, поэтому предполагалось, что это был «самый правильный» способ сделать это. – cookmr86
Но вернемся к вопросу, не могли бы вы использовать 'driver .findElements' и loop through, а не нацеливать каждый элемент отдельно? – Corporalis