线程“main”中的异常org.openqa.selenium.NoAlertPresentException:没有警报打开

时间:2016-06-17 13:58:04

标签: selenium selenium-webdriver alerts

使用Selenium Webdriver,我尝试在登录后打开fb页面。登录后,弹出框出现如下 “显示通知
    允许和阻止“ 我想选择“ 允许 ”按钮。

我收到了一条错误消息

  

线程“main”中的异常   org.openqa.selenium.NoAlertPresentException:没有警报打开

请帮忙。

这是我写的代码:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
    /*
    View view = inflater.inflate(R.layout.fragment_two, null);

    TextView tv = (TextView) view.findViewById(R.id.textView1);
    tv.setText("Fragmento 2");
    */
    return (null);
}

1 个答案:

答案 0 :(得分:0)

这不是Zach所说的警报,它是一个浏览器通知,在您的情况下,只需使用Java中的Robot类发送空格键即可按下允许按钮:

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_SPACE);
robot.keyRelease(KeyEvent.VK_SPACE);

所以代码是:

System.setProperty("webdriver.chrome.driver","C:\\Users\\ABCD\\Desktop\\chromedRiver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.facebook.com");      
driver.findElement(By.xpath(".//*[@id='email']")).sendKeys("xxx");
driver.findElement(By.xpath(".//*[@id='pass']")).sendKeys("xxx");
driver.findElement(By.xpath(".//*[@id='u_0_m']")).click();
    Thread.sleep(4000);
    Robot robot = new Robot();
    robot.keyPress(KeyEvent.VK_SPACE);
    robot.keyRelease(KeyEvent.VK_SPACE);
Thread.sleep(2000);

我不确定是否有办法在您尝试时检索通知消息。