#java #selenium #hashmap
#java #селен #hashmap
Вопрос:
Я пытаюсь получить все результаты с сайта Amazon результатов поиска toy car в hashmap, но он сохраняет только первое значение.Я также возвращаю результаты этого hashmap в методе main Пожалуйста, найдите фрагмент моего кода ниже public HashMap<Целое число, строка> amazonresults(драйвер WebDriver) {
HashMap<Integer, String> adf = new HashMap<Integer, String>();
driver.get("http://amazon.in");
Actions a = new Actions(driver);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
WebElement searchbox = driver.findElement(By.id("twotabsearchtextbox"));
a.moveToElement(searchbox).click().sendKeys("toy car").build().perform();
a.sendKeys(Keys.ENTER).build().perform();
List<WebElement> product = driver
.findElements(By.cssSelector("span[class ='a-size-base-plus a-color-base a-text-normal']"));
int i = 0;
for (i = 0; i < product.size(); i ) {
adf.put(i, (product.get(i).getText()));
}
return adf;
}
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\Users\SagarikaRoyChoudhury\chromedriver.exe");
WebDriver driver = new ChromeDriver();
Scope sc = new Scope();
System.out.println(sc.amazonresults(driver));
}
Комментарии:
1. Amazon предоставляет API, который позволяет извлекать информацию о продукте .
2. Содержит ли ‘List<WebElement> product’ несколько элементов или только один? поместите туда SOP.
3. Я протестировал ваш код с более высоким неявным ожиданием (30 секунд), и он работает нормально.