我正在使用Selenium Firefox WebDrivers在WinForms C#中工作,我正在使用这样的代码来关闭驱动程序:
driver.Close();
但我经常遇到驱动程序已经关闭的错误。如何检查驱动程序是否已打开(或已关闭)?
如果这里的任何人知道我怎么能在c#中隐藏它?喜欢隐藏到FireFox Window。
您可以在webDriver中查询当前窗口句柄。如果存在,则调用quit。
if(!String.IsNullOrEmpty(driver.CurrentWindowHandle))
{
driver.Quit();
}
使用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.
}
如果在驱动程序关闭后尝试调用driver.CurrentWindowHandle,则抛出WebDriverException。最好尽量使异常具体,所以抓住WebDriverException。
try
{
driver.Quit();
}
catch (WebDriverException e)
{
// Happens when call Quit but driver already closed. Can be ignored.
}