ChromeDriver在测试后关闭

问题描述

因此,我的理解是,调用driver.Quit或Close是关闭驱动程序和相关窗口的正确方法。

但是,在运行我的测试时,似乎即使没有调用driver.Quit而是调用PASS,窗口仍然关闭。

我使用的是带有通过pytest执行的单元测试用例的python。我还通过PyCharm运行了标准单元。在所有情况下,浏览器都会按说明关闭。我希望浏览器保持打开状态,以便我可以调试测试。我可以直接打给睡眠(9000),但这听起来很愚蠢。

此外,在某些计算机上注释退出时,浏览器保持打开状态,但在其他具有相同ChromeDriver、Chrome版本和代码的计算机上则不会。

分析chromeDriver日志,它似乎注册了一个QuitAll命令,但我不知道它可能从哪里获得它。可以不覆盖PYC文件吗?

退出代码:

def tearDown(self):
    pass
    # self.driver.quit()

解决方案

脚本由于the code here而结束后,服务将停止。

如果希望Chrome和chromeDriver之后保持打开状态,可以在启动chromeDriver:

时添加detach选项
from selenium.webdriver import ChromeOptions, Chrome
opts = ChromeOptions()
opts.add_experimental_option("detach", True)
driver = Chrome(chrome_options=opts)

相关文章