我想检查浏览器是否仍然存在,如果不存在,那么我想打开一个新的浏览器!网络驱动程序中是否有可用的api来检查浏览器是否仍然存在?
调用driver.close()
后,驱动程序的值设置为
FirefoxDriver: firefox on WINDOWS(4b4ffb1e-7c02-4d9c-b37b-310c771492ac)
但是如果调用driver.quit()
,它将驱动程序的值设置为
FirefoxDriver: firefox on WINDOWS (null)
因此,如果您在调用driver.quit()之后检查浏览器窗口,则可以通过以下实现知道。
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
driver.quit();
if(driver.toString().contains("null"))
{
System.out.print("All Browser windows are closed ");
}
else
{
//open a new Browser
}
没有api。最好的方法是调用toString
方法,该方法返回如下字符串:
SafariDriver . . . null
然后您可以调用contains
方法,该方法会检查字符串null
是否存在。
请注意,只有在调用quit
的情况下,此方法才有效。
我正在Chrome上积极使用它。同时,由于我使用cmd title运行浏览器,因此可以关闭命令行以消除过多的负载。
from selenium.common.exceptions import WebDriverException
while True:
try:
#do somethings
except selenium.common.exceptions.WebDriverException as e:
if 'chrome not reachable' in str(e):
os.system('taskkill /FI "WindowTitle eq YourTitleIfExistsOrDeleteThisLine*" /T /F')