【问题标题】:Not able to click on popup & close无法点击弹出和关闭
【发布时间】:2020-09-02 05:39:36
【问题描述】:

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

当我打开时有弹出窗口显示

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

【问题讨论】:

标签: selenium selenium-webdriver selenium-chromedriver


【解决方案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();

【讨论】:

  • 您好,我尝试了下面的代码,请检查屏幕截图,但仍然出现错误prnt.sc/ua1em0
  • XPath 用于突出显示两个元素的用户消息,因此您必须创建唯一的 xpath。在这里,我使用了多个属性。 XPath : //*[@id="user-message" and @class="form-control"]
【解决方案2】:

要单击并关闭 弹出窗口,您需要为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();
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多