【发布时间】:2020-09-02 05:39:36
【问题描述】:
我已经打开了这个网站https://www.seleniumeasy.com/test/basic-first-form-demo.html
当我打开时有弹出窗口显示
如何使用 selenium 继续该弹出窗口并单击关闭?
【问题讨论】:
标签: selenium selenium-webdriver selenium-chromedriver
我已经打开了这个网站https://www.seleniumeasy.com/test/basic-first-form-demo.html
当我打开时有弹出窗口显示
如何使用 selenium 继续该弹出窗口并单击关闭?
【问题讨论】:
标签: selenium selenium-webdriver selenium-chromedriver
使用下面的代码。这些可能是您没有使用正确的等待和 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();
【讨论】:
要单击并关闭 弹出窗口,您需要为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();
【讨论】: