关闭当前浏览器窗口并尝试使用相同的selenium webdriver打开另一个浏览器窗口

时间:2016-12-23 09:40:45

标签: java selenium selenium-chromedriver

以下代码在selenium中没有给出这样的会话异常。

WebDriver webdriver= new ChromeDriver();    
webdriver.get(appUrl);
webdriver.close();
webdriver.get(appUrl);

我的要求是打开浏览器,做一些事情,关闭它。打开另一个浏览器,做一些事情。为此,我试图使用单个webdriver实例,它会抛出错误。为什么呢?

4 个答案:

答案 0 :(得分:0)

因为API documentation告诉我们:

  

关闭当前窗口,如果它是最后一个窗口,则退出浏览器   目前正在开放。

这应该有效(重新实例化你的驱动程序):

WebDriver webdriver= new ChromeDriver();    
webdriver.get(appUrl);
webdriver.close();
webdriver= new ChromeDriver();
webdriver.get(appUrl);

答案 1 :(得分:0)

会抛出错误 “org.openqa.selenium.remote.UnreachableBrowserException:与远程浏览器通信时出错。它可能已经死亡”

您需要做的是创建新的浏览器实例

SELECT TOP(1)

答案 2 :(得分:0)

抛出错误是因为,当你说的是driver.close();它正在杀死当前的实例。杀死当前实例后,您必须创建一个新实例。因此,您可以使用相同的驱动程序再次启动chrome。

WebDriver driver= new ChromeDriver();    
driver.get("http://www.google.com");
driver.close();
driver= new ChromeDriver();
driver.get("http://www.google.com");

答案 3 :(得分:0)

在这篇文章的所有答案中我得出结论,如果我为我的测试运行单个浏览器,以下代码是最好的

WebDriver webdriver= new ChromeDriver();    
webdriver.get(appUrl);
webdriver.quit();
webdriver= new ChromeDriver(); 
webdriver.get(appUrl);