# （十六）警告框处理




<br>
在 WebDriver中处理JavaScript所生成的alert、confirm以及prompt十分简单，具体做法是使用switch_to_alert()方法定位到alert/confirm/prompt，然后使用text/accept/dismiss/sendKeys等方法进行操作。

* getText()： 返回 alert/confirm/prompt 中的文字信息。

* accept()： 接受现有警告框。

* dismiss()： 解散现有警告框。

* sendKeys(keysToSend)： 发送文本至警告框。

* keysToSend： 将文本发送至警告框。

如下图，百度搜索设置弹出的窗口是不能通过前端工具对其进行定位的，这个时候就可以通过switchTo().alert()方法接受这个弹窗。
![](http://orru5lls3.bkt.clouddn.com/alert_windows.png)

接受一个警告框的代码如下：

```java
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;


public class AlertDemo {

  public static void main(String[] args) throws InterruptedException {

    WebDriver driver = new ChromeDriver();
    driver.get("https://www.baidu.com");

    driver.findElement(By.linkText("设置")).click();
    driver.findElement(By.linkText("搜索设置")).click();
    Thread.sleep(2000);

    //保存设置
    driver.findElement(By.className("prefpanelgo")).click();

    //接收弹窗
    driver.switchTo().alert().accept();
    Thread.sleep(2000);

    driver.quit();
  }
}
```




原始封面

![课程图片](https://images.unsplash.com/photo-1590595906931-81f04f0ccebb?w=300)


