如何检查是否在Selenium C#中打开了Firefox驱动程序?

问题描述 投票:0回答:3

我正在使用Selenium Firefox WebDrivers在WinForms C#中工作,我正在使用这样的代码来关闭驱动程序:

driver.Close();

但我经常遇到驱动程序已经关闭的错误。如何检查驱动程序是否已打开(或已关闭)?

如果这里的任何人知道我怎么能在c#中隐藏它?喜欢隐藏到FireFox Window。

c# firefox selenium-webdriver
3个回答
0
投票

您可以在webDriver中查询当前窗口句柄。如果存在,则调用quit。

if(!String.IsNullOrEmpty(driver.CurrentWindowHandle))
{
     driver.Quit();
}

0
投票

使用try catch块。

try
{

driver.Close(); 
//driver will be closed if it is opened

}

catch(Exception ex)
{
   //if driver is already closed, your code will not crash due to catch block.
}

0
投票

如果在驱动程序关闭后尝试调用driver.CurrentWindowHandle,则抛出WebDriverException。最好尽量使异常具体,所以抓住WebDriverException。

try
{
    driver.Quit();
}
catch (WebDriverException e)
{
    // Happens when call Quit but driver already closed.  Can be ignored.
}
© www.soinside.com 2019 - 2024. All rights reserved.