Я пытаюсь нажать на все результаты поиска с помощью цикла и получить строки заголовка из каждого из результатов. Таким образом, он нажмет на результат, попытается извлечь строку.
String title = null;
List <WebElement> links = driver.findElements(By.className("thumbnail"));
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
for(int i=0; i<1; i++){
links = driver.findElements(By.className("thumbnail")); // this step is must, because whenever you go to other page all store WebElements in a list will wash out
links.get(i).click();
//it opens the search result in a new tab and gains focus on that tab
WebDriverWait wait = new WebDriverWait(driver, 10);
By addItem = By.xpath("//*[@id=\"HEADING\"]");
// get the "Add Item" element
WebElement element1 = wait.until(ExpectedConditions.presenceOfElementLocated(addItem));
wait.until(ExpectedConditions.stalenessOf(element1));
if(!driver.findElements(By.xpath("//*[@id=\"HEADING\"]")).isEmpty()) {
title = driver.findElement(By.xpath("//*[@id=\"HEADING\"]")).getText();
}
else {
System.out.println("Title is missing");
}
System.out.println(title);
driver.switchTo().window(tabs.get(0)); //Switching to first tab
}
Код извлекает заголовок на первой странице, а не на странице, по которой он щелкнул. Я также пытаюсь извлечь другие строки, такие как адрес, адрес электронной почты и т. Д., Но я просто проверяю это. Как это исправить? Любая помощь будет оценена, спасибо!