我有一个网页,其中包含'查看条款'选项。点击'查看条款'将打开一个模态对话框。我想验证模态对话框中的文本。我面临的问题是如何从主窗口切换到模态对话框。我尝试了driver.getWindowHandles(),但是没什么工作的。请建议如何将焦点切换到对话框并获取文本。
我使用Selenium 2.52.0和java作为语言。
答案 0 :(得分:0)
它不是一个单独的窗口,所以你不应该对getWindowHandles()做任何事情。只需尝试通过在同一页面上使用browser.findElement(模态路径).getText()获取文本来断言。
答案 1 :(得分:0)
HI只需使用如下所示即可使用注意请更新您的硒版本。
String contentOfTerms = driver.findElement(By.xpath("//*[@class='terms_content']/p")).getText();
System.out.println(contentOfTerms);
答案 2 :(得分:0)
如果窗口位于不同的框架中,则需要切换窗口,但它看起来不像是不同的框架,尽管如果它位于不同的框架中,请尝试并使用以下代码将父窗口切换到子窗口:
public void windowSwitch()
{
String parentWin = driver.getWindowHandle();
parentWin1=parentWin;
Set<String> allwin =driver.getWindowHandles();
for(String child : allwin)
{
if(!child.equals(parentWin))
{
driver.switchTo().window(child);
}
}
}
如果它只是一个对话框,那么使用以下代码从中获取字符串:
public String alert()
{ String str;
Alert alert = driver.switchTo().alert();
str= alert.getText();
alert.accept();
return str;
}
答案 3 :(得分:0)
driver.switchTo()。activeElement(); ///切换到活动的弹出元素...
driver.findElement(By.xpath(“ // * [@ class ='terms_content'] / p”))。getText(); //获得给定元素的文本将对您有用。