Nit*_*tel 3 python selenium webdriver ui-automation selenium-chromedriver
我试图在 selenium 完成执行我的测试脚本后保持 chrome 浏览器打开。我想重新使用同一个窗口来运行第二个脚本。
当您的 Chrome webdriver 实例变量被垃圾收集时,浏览器窗口将关闭。如果您想在脚本执行完成后避免这种情况,则可以将其设置为全局。IE:
def test():
global driver # this will prevent the driver variable from being garbage collected
driver = webdriver.Chrome()
...
Run Code Online (Sandbox Code Playgroud)
说明:selenium.webdriver.Chrome类实例包含类的实例Service。后者有一个__del__方法,当实例在垃圾收集过程中被破坏时被调用。该方法依次停止服务并导致 Chrome 浏览器窗口关闭。
这也解释了为什么有些用户没有观察到这种行为。我怀疑这是因为他们在文件范围内有 Chrome webdriver 实例变量,而不是在函数内。