Selenium webdriver , testNG with java



如何处理模态窗口?Selenium webdriver , testNG with java

例如:加载 https://business.bell.ca/shop/small-business/单击右侧Facebook图标下方的通过电子邮件共享图标。显示模式窗口

如何处理此模态窗口,因为我需要获取该模态窗口的屏幕截图?

没有任何模式窗口。如果您尝试单击"喜欢",则在iframe下。要切换到它,请执行以下操作:

driver.findElement(By.cssSelector(".fui-icon.fui-icon-facebook"))
        .click();
driver.switchTo().frame(
    driver.findElement(By.xpath("//iframe[@title='facebook']")));
driver.findElement(By.xpath("//span[.='Like']")).click();

并切换到Facebook窗口,请执行以下操作:

for (String winHandle : driver.getWindowHandles()) {
    driver.switchTo().window(winHandle);
}

编辑:对不起,这是我的错误,我没有得到你想问的。如果您想与模态对话框进行交互,作为一种解决方法,您可以通过最初等待模态对话框出现来使用,并且由于它仅在顶部窗口范围内,您可以使用 xpath 或 css 与字段进行交互,无论您喜欢哪个。使用 xpath 的示例代码是:

driver.findElement(By.id("shareemail")).click();
new WebDriverWait(driver, 10).until(ExpectedConditions
    .visibilityOfElementLocated(By
        .xpath("//*[@id='emaillightboxmodaljs']")));
driver.findElement(
    By.xpath(".//*[@id='ui-id-3']/div/fieldset/div[1]/div[1]/input"))
        .sendKeys("acd");

最新更新