我试图点击横幅的<
和>
按钮,该按钮在amazon.in几秒钟后继续旋转,但无法执行此操作。
我写了以下代码,但仍未成功
driver.get("amazon.in");
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.findElement(By.xpath("//span[contains(text(),'Previous page')]")).click();
它没有点击页面顶部显示的横幅上的<
按钮。
答案 0 :(得分:0)
当我编写可能重用的代码时,我将其放入函数中。这是点击横幅上的下一个和上一个箭头的功能。
public static void clickNextBanner()
{
driver.findElement(By.cssSelector("a.a-carousel-goto-nextpage")).click();
}
public static void clickPrevBanner()
{
driver.findElement(By.cssSelector("a.a-carousel-goto-prevpage")).click();
}
答案 1 :(得分:0)
尝试使用显式等待
WebElement previous =driver.findElement(By.xpath("//span[contains(text(),'Previous page')]"));
WebDriverWait wait = new WebDriverWait(driver,20);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[contains(text(),'Previous page')]")));
previous.click();
答案 2 :(得分:-1)
使用以下代码点击滑块的下一个>
和之前的<
箭头。
driver.get("http://www.amazon.in/");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
// Forward navigation
for(int i =0;i<3;i++)
{
driver.findElement(By.xpath("//a[@class='a-carousel-goto-nextpage']")).click();
Thread.sleep(1000);
}
// back navigation
for(int j=0;j<3;j++)
{
driver.findElement(By.xpath("//a[@class='a-carousel-goto-prevpage']")).click();
Thread.sleep(1000);
}