java - 无法使用 Selenium 和 Java 单击 Flipkart 主页中图像 slider 中的图像之一

标签 java selenium selenium-webdriver automated-tests ui-automation

我使用下面的方法来单击 Flipkart 主页图像 slider 中的第二张图像,但我收到“Selenium.Timeout.Exception”。下面方法中提到的Xpath是为第二张图像编写的。如果你检查这个 xpath,它总是会突出显示第二个图像,但不管用下面的方法如何,我都无法单击第二个图像,尽管我已经验证该元素确实保留在 DOM 中一段时间​​,并且在那一刻只有它应该被点击,但无论如何它没有发生。

有人可以帮我解决这个问题吗?

  Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
                .withTimeout(Duration.ofSeconds(120))                   
                .pollingEvery(Duration.ofMillis(500))
                //.ignoring(ElementClickInterceptedException.class);
                .ignoring(TimeoutException.class);

  Boolean element = wait.until(new Function<WebDriver, Boolean>(){

      public Boolean apply(WebDriver driver) {

          return driver.findElement(By.xpath("(//div[@class='_3ZUwcz'])[3]//descendant::div//img[@class='_2VeolH _3I5S6S']")).isDisplayed();

      }

  });
  System.out.println("Actual Element visibility " +element);
   if(element==true) {

       driver.findElement(By.xpath((//div[@class='_3ZUwcz[3]//descendant::div//img[@class='_2VeolH_3I5S6S']")).click();

   }

最佳答案

尝试单击该元素:

WebElement element = driver.findElement(By.xpath("(//div[@class='_3ZUwcz'])[3]//descendant::div//img[@class='_2VeolH _3I5S6S']"));
JavascriptExecutor js= (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();", element);

关于java - 无法使用 Selenium 和 Java 单击 Flipkart 主页中图像 slider 中的图像之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57943451/

相关文章:

java - 实现鼠标事件的正确方法

r - 尝试使用 RSelenium 检测并填充表单

java - TestNG 测试使用一个测试的参数而不是自己的参数

javascript - 您可以通过 python 或 javascript 使用机器人自动化从页面检索重定向 URL 吗?

java - 使用 selenium webdriver 找不到下拉列表元素

java - Spring Boot无法连接MySQL并在Docker/Docker compose中退出

java - 如何在 Windows 上的 Atom 中编译和运行 Java 类?

c# - 如何要求 Selenium2 在执行任何断言之前完成 .Click 上的页面加载?

java - try catch java 中的范围和 alpha 错误

python - pytest-selenium 使用 mobile_emulation 或在设置中添加 userAgent