Я полностью застрял и понятия не имею, почему я получаю вывод, который у меня есть. Вот соответствующий фрагмент.
WebElement section = driver.findElement(By.xpath("//div[contains(@class,'_main')]"));
List<WebElement> searchResults = new ArrayList<WebElement>();
searchResults.addAll(section.findElements(By.xpath("//div[contains(@class,'_listing')]")));
for (WebElement element : searchResults) {
System.out.println(element.getAttribute("innerHTML"));
System.out.println(element.findElement(By.xpath("//p[contains(@class,'_2tux')]")).getText());
currentlistings.add(newListing('f',element.findElement(By.xpath("//a[contains(@class,'_1oem')]")).getAttribute("href"),
element.findElement(By.xpath("//p[contains(@class,'_2tux')]")).getText(),
element.findElement(By.xpath("//div[contains(@class,'_f3l _4x3g')]")).getText()));
}
Код, по-видимому, функционирует нормально при сохранении элементов в списке, размер корректен, и когда я перебираю внутренние элементы списка HTML, как и ожидалось.
Однако, когда я тогда пытаюсь использовать findElement для каждого из повторяющихся элементов, он, по-видимому, читает HTML из элемента с индексом 0, хотя непосредственно перед командой выводится html из правильного индекса. Любые указатели будут высоко оценены.