[英]How to handle pop up windows with blank id in selenium webdriver?
我想在我的应用程序中自动执行提交简历页面的代码。 该页面包含一个用于添加资格详细信息的部分,该部分进一步打开一个窗口以添加相同的信息。 问题是正在打开的窗口具有空白ID,并且在自动执行该操作时,我在其中获得会话已过期消息,否则当我通过Selenium ide或手动访问它时,它将正常工作。 附上代码以供参考。
我的代码如下:
w.get("https://www.hrmantra.com/LetsLead/18_Recruitment/SubmittResume.aspx?cn=LetsLead");
String parentHandle = w.getWindowHandle();
w.findElement(By.xpath("//.//*[@id='lbAddQualification']")).click();
for (String winHandle: w.getWindowHandles()) {
w.switchTo().window(winHandle);
e = new Select(w.findElement(By.xpath("//.//*[@id='lstlist']")));
e.selectByVisibleText("A Level DOEACC");
w.findElement(By.xpath("//.//*[@id='Btnconadd']")).click();
w.findElement(By.id("BtnAdd")).click();
}
w.switchTo().window(parentHandle);
切换之后,您需要像这样在循环外部添加正确的代码:
static WebDriver driver=null;
public static void main(String[] args) {
driver = new FirefoxDriver();
driver.get("https://www.hrmantra.com/LetsLead/18_Recruitment/SubmittResume.aspx?cn=LetsLead");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS);
String mainwindow=driver.getWindowHandle();
driver.findElement(By.xpath("//.//*[@id='lbAddQualification']")).click();
for(String winHandle :driver.getWindowHandles()){
driver.switchTo().window(winHandle);
}
// Here right your code which you want to perform on pop-up
driver.close();
// Back to main window
driver.switchTo().window(mainwindow);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.