1

我正在尝试使用 switch 来提醒并执行操作,但我遇到了错误。

现在真正的问题是当我将下面的代码放入尝试中时,它可以完美地工作。我的意思是它可以完美地处理警报。但是当我没有尝试使用相同的代码时,捕获代码会引发以下异常

  Alert alert = driver.switchTo().alert();
            String AlertText = alert.getText();
System.out.println(javascriptconfirm.getText());
            alert.accept();

请在下面找到错误

No alert is present (WARNING: The server did not provide any stacktrace information)
4

1 回答 1

3

这个想法是当您处理警报时,您必须首先检查警报是否存在。我会使用这种方法:

public boolean isAlertPresent() {

  boolean presentFlag = false;

  try {

   // Check the presence of alert
   Alert alert = driver.switchTo().alert();
   // Alert present; set the flag
   presentFlag = true;
   // if present consume the alert
   alert.accept();

  } catch (NoAlertPresentException ex) {
   // Alert not present
   ex.printStackTrace();
  }

  return presentFlag;

 }

在这里您可以获得详细信息也不要忘记逐步调试以了解出现/不出现的步骤警报。希望这对您有所帮助。

于 2013-06-12T16:20:55.917 回答