在 python 上完成 selenium 脚本后,如何保持 chrome 浏览器窗口打开以供重新使用 [英] How to keep chrome browser window open to be re-used after selenium script finishes on python

查看:79
本文介绍了在 python 上完成 selenium 脚本后,如何保持 chrome 浏览器窗口打开以供重新使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 selenium 执行完我的测试脚本后,我试图让 Chrome 浏览器保持打开状态.我想重新使用相同的窗口来运行我的第二个脚本.

I am trying to keep the chrome browser open after selenium finishes executing my test script. I want to re-use the same window for my second script to run.

推荐答案

当您的 Chrome 网络驱动程序实例变量被垃圾收集时,浏览器窗口将关闭.如果您想在脚本完成执行时避免这种情况,您可以将其设为全局.即:

Browser window closes when your Chrome webdriver instance variable is garbage collected. If you want to avoid this even when your script finishes executing, you can make it global. I.e.:

def test():
    global driver # this will prevent the driver variable from being garbage collected
    driver = webdriver.Chrome()
    ...

说明:selenium.webdriver.Chrome 类实例包含一个 Service 类的实例.后者有一个 __del__ 方法,当实例在垃圾收集过程中被销毁时调用.该方法反过来停止服务并导致 Chrome 浏览器窗口关闭.

Explanation: A selenium.webdriver.Chrome class instance contains an instance of a Service class. The latter has a __del__ method which is called when the instance is being destructed during garbage collection process. The method in turn stops the service and causes Chrome browser window to close.

这也解释了为什么有些用户没有观察到这种行为.我怀疑这是因为他们在文件范围内有 Chrome webdriver 实例变量,而不是在函数内部.

This also explains why some users don't observe this behavior. I suspect that this is because they have Chrome webdriver instance variable at file scope, not inside a function.

这篇关于在 python 上完成 selenium 脚本后,如何保持 chrome 浏览器窗口打开以供重新使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆