Итак, для моего проекта я использую Selenium, чтобы проверить, что значимые поля находятся в моей DOM. XML я анализирую ниже:Selenium getText() не работает
<results>
<result index="1">
<track>
<creator>God</creator>
</track>
</result>
<results>
Для первой вещи, я получаю список всех результатов тегов как webElements команды:
List<WebElement> result_list = driver.findElements(By.tagName("result"));
Я тогда сделать цикл, чтобы проверить что тэг-создатель существует, запустив
try {
for (int i = 0; i < result_list.size(); i++) {
WebElement track = result_list.get(i).findElement(By.tagName("track"));
System.out.println(track.findElement(By.tagName("creator")).getText());
System.out.println(track.getTagName());
System.out.println(track.getAttribute("creator"));
}
result = true;
}
catch (Exception e) {
result = false;
}
Я вставил операторы печати, чтобы увидеть, что говорит каждый тег. Я новичок в селене, поэтому я просто пытаюсь убедиться, что я правильно повторяю веб-элементы, то есть каждый вызов getText и getAttribute должен отличаться для каждой итерации цикла. Единственная проблема заключается в том, что я получаю пустую строку, распечатанную для каждого вызова getText(), и null для каждого вызова getAttribute(). Почему это происходит? Результат ниже.
<empty string> (nothing is printed, just illustrating the empty string)
track
null
Любая помощь была бы принята с благодарностью!
Может быть, вы можете использовать следующую ссылку [assertTextPresentXML] (http://wiki.openqa.org/display/SEL/assertTextPresentXML) – Smit