driver.close()方法在Firefox上的Selenium WebDriver中不起作用

时间:2015-06-28 04:20:17

标签: selenium firefox selenium-webdriver

我正在使用JUnit注释在Eclipse中编写一个简单的程序。

测试后,

diver.close()没有关闭我的Firefox浏览器。它适用于Chrome。代码片段就在这里。

public class FireFox1 {
    WebDriver driver;

    @Before
    public void setUp() {
        driver= new FirefoxDriver();
        driver.get("http://book.theautomatedtester.co.uk/chapter4");
    }

    @After
    public void tearDown() {
        driver.close();
    }

    @Test
    public void testExamples() {
        WebElement element= driver.findElement(By.id("nextBid"));
        element.sendKeys("100");     

    }
} 

5 个答案:

答案 0 :(得分:3)

有时在重复使用时,我们会遇到driver.close()的问题。 无论如何driver.quit()将纠正您的问题。

通常driver.close()关闭浏览器(驱动程序的实例仍然完好无损),而driver.quit()将终止webdriver实例。无论如何,您只在这里使用一页,那么您可以使用driver.quit()

谢谢。

答案 1 :(得分:1)

假设您已经使用网格平行启动了5个浏览器(类):

driver.close - 用于关闭当前浏览器(执行的地方)

driver.quit - 用于关闭当前执行启动的所有浏览器。

您可以使用其中任何一个..

可能是浏览器兼容性问题,尝试降级FF让我们看看...

答案 2 :(得分:0)

更好地使用driver.quit()方法。它会关闭浏览器,但由于某些未知问题,它会抛出NullPointerException。抓住它..

try{
    driver.quit();
   }catch (Exception e){
      System.out.println("Nothing to do with it");
      }

答案 3 :(得分:0)

使用最新的GeckoDriver.exe(17)和最新的FireFox(54.0); 这对我来说可以。我之前遇到过同样的问题。

您遇到的这个问题完全是驱动程序和驱动程序之间的兼容性问题。浏览器版本。

driver.close();如果您使用上述版本,应该没有问题。如果有效,请告诉我。

答案 4 :(得分:0)

这就是Firefox driver.close()中的问题,仅在具有Internet连接的情况下才在Firefox中起作用,但对于Chrome,在没有Internet连接的情况下即可。