使用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);
}
答案 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);
我不确定是否有办法在您尝试时检索通知消息。