2016-04-15 78 views
1

虽然我自动运行Naukri注册,给定一个警告框,如果该特定的邮件ID已注册。naukri注册页面使用硒web驱动程序

任何人都可以帮助我如何处理?

driver.get("https://login.naukri.com/nLogin/Login.php"); 
driver.findElement(By.linkText("Become a member")).click(); 
driver.findElement(By.id("email")).sendKeys("[email protected]"); 
driver.findElement(By.id("password")).sendKeys("123456789"); 

Thread.sleep(50000); 

Alert alert= driver.switchTo().alert(); 
driver.switchTo().alert().dismiss(); 

回答

0

naukri网站上显示的对话框不是真正的警报,因此您无法切换到该对话框或将其解除。这是相当,你可以在X按钮来关闭通过点击使用XPath一个div:

//div[@id="forGotPassword"]//a[@title="Close"] 

所以不是最后两行,你应该这样做

driver.findElement(By.xpath("//div[@id='forGotPassword']//a[@title='Close']")).click() 
+0

谢谢... :)所以如何我们可以识别一个弹出式警报windos – swagatika

+0

一个真正的弹出式警报窗口就像是javascript'alert'函数:http://www.w3schools.com/js/tryit.asp?filename=tryjs_output_alert(即它是一个模式弹出窗口o浏览器顶部)。其他一切都是在HTML级别完成的,技术上只是页面的一个动态部分(通常是在需要时创建的'div',或者始终存在于页面上,但隐藏,但在需要时显示)。所以你把它当作页面上的其他元素一样对待它。 –