无法点击弹出窗口并关闭

时间:2020-09-02 05:39:36

标签: selenium selenium-webdriver selenium-chromedriver

我已打开此网站https://www.seleniumeasy.com/test/basic-first-form-demo.html

打开时,弹出窗口显示

如何使用硒继续弹出窗口并单击关闭?

2 个答案:

答案 0 :(得分:1)

使用以下代码。这些是您没有使用适当的等待和XPath的机会。

System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "\\src\\test\\resources\\executables\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("https://www.seleniumeasy.com/test/basic-first-form-demo.html");
    WebDriverWait wait = new WebDriverWait(driver, 20);
    wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id='at-cv-lightbox-close']")));
    driver.findElement(By.xpath("//*[@id='at-cv-lightbox-close']"));
    driver.quit();

答案 1 :(得分:1)

要单击并关闭弹出窗口,您需要为elementToBeClickable()引入WebDriverWait,并且可以使用以下任一Locator Strategies

  • cssSelector

    new WebDriverWait(webDriver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a[title='Close']"))).click();
    
  • xpath

    new WebDriverWait(webDriver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@title='Close']"))).click();