繁体   English   中英

如何处理硒webdriver中具有空白ID的弹出窗口?

[英]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=L‌​etsLead");
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=L‌​etsLead");
    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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM