如何在不同的网页上找到元素?

时间:2013-04-01 22:35:51

标签: webdriver

我是java和webdriver的新手。我的网络应用程序将一些数据添加到网页上的表格中。如果添加成功,则会打开新网页,并在新页面上显示成功消息。如果添加不成功,则会引发javascript警报。接受alert后如何使用webdriver检查新网页上是否存在该消息?

2 个答案:

答案 0 :(得分:1)

如果在新窗口中打开,则需要先将控件切换到新窗口

找到逻辑here以在窗口之间切换控件

将控件切换到新窗口后,您可以验证您想要的任何内容。元素或文字。

isElementPresent?方法逻辑here

isTextPresent?方法逻辑here

答案 1 :(得分:0)

如果我正确理解了这个问题,在将数据发送到表格后,如果发送成功,则窗口会加载新网页,否则一旦您接受窗口加载的警报就会出现警告。

发送数据后,检查是否存在警报,如果存在警报,则接受该警报。接下来是验证新加载的网页中是否存在文本。

public void isAlertPresent(){
try {
    driver.switchTo.alert().accept();
}
catch ( NoAlertPresentException e ){
}


System.out.println(driver.findElement(By.tagName("body")).getText().contains("Expected Message"));

如果消息显示的位置是静态的,那么我建议您使用比上述方法更好的方法,如果元素具有该文本

WebElement element = driver.findElement(By.id("elementID"));

System.out.println(element.getText().trim().equals("Expected Message"));