遇到的问题
在用selenium做web自动化测试时,测试用例执行完后,自动关闭浏览器
if cls.__driver is not None and cls.__switch is False:
cls.__driver.quit()
cls.__driver = None
在写代码的时候发现,就算设置了前后置,并且添加了判断已经创建了浏览器驱动实例,并且switch标记为False才执行关闭操作,通过调试发现,就算跳过了这个判断,浏览器还是会自动关闭,运行窗口没有任何提示。
调试后发现,原来是WebDriver的机制问题。默认情况下,当 WebDriver 会话结束时,浏览器窗口会自动关闭。通过设置 "detach"
选项为 True
,可以防止这种情况发生。
def get_driver(cls):
if cls.__driver is None:
options = webdriver.ChromeOptions()
options.add_experimental_option('detach', True)
cls.__driver = webdriver.Chrome(options=options)
cls.__driver.maximize_window()
cls.__driver.implicitly_wait(10)
return cls.__driver
标签:.__,浏览器,完后,selenium,driver,代码运行,关闭,options,cls
From: https://www.cnblogs.com/NovLeo/p/18504468