找不到窗口错误,为模态窗口实现多线程概念

时间:2015-02-16 15:15:57

标签: java multithreading selenium-webdriver

以前我在项目中遇到过Modal窗口的问题。我通过实现多线程概念解决了这个问题。也就是说,我在点击任何元素之前创建了一个新线程,这将唤起一个模态窗口。

run()中,我编写了设置代码,它将从模态窗口中选择一个值。单击列表中的任何值后,模态窗口将自动关闭。

代码段

public class MyProj implements Runnable {

static WebDriver driver = new FirefoxDriver();
Thread t;

MyProj() {

    // Code to create a Thread
}

public void run() {
    // Code to select a option from the Modal window
}
public static void main(String[] args) throws AWTException, FindFailed, InterruptedException {

     driver.get(...); 

     // Code ......... 

     new MyProj(); //Calling Constructor to create a new thread

     driver.findElement(...).click(); // click to open modal window     

    System.out.println(driver.getTitle()); // Getting error at this point

成功执行方法run后,当我尝试执行driver.getTitle()时,知道控件现在在哪里,得到错误

“找不到窗口。浏览器窗口可能已关闭“。

如何克服这个错误?请帮助!

1 个答案:

答案 0 :(得分:0)

使用以下代码启动Thread.Give一试!我在我的系统中尝试过它工作正常。如果您遇到任何问题,请告诉我。

MyProj() {
t = new Thread(this);
t.start();
}