所以我的理解是调用driver.quit或close是关闭驱动程序和关联窗口的正确方法。
然而,在运行我的测试时,似乎即使没有调用driver.quit而是调用pass,窗口仍然会关闭。
我正在使用python与通过pytest执行的unittest测试用例。我也通过Pycharm运行标准unitests。在所有情况下,浏览器都会按照描述关闭。我希望浏览器保持开放,我可以调试测试。我可以打电话给睡觉(9000),但这看起来很蠢。
此外,浏览器在某些计算机上注释退出时保持打开状态,但在使用相同的chromedriver,Chrome版本和代码的其他计算机上则不会保持打开状态。
分析chromedriver日志,它似乎注册了一个QuitAll命令,但我不知道从哪里获取它。 pyc文件可以不被覆盖吗?
退出代码:
def tearDown(self):
pass
# self.driver.quit()
答案 0 :(得分:7)
一旦脚本因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)