Loading... > 转载于:[https://zhuanlan.zhihu.com/p/111132413](https://zhuanlan.zhihu.com/p/111132413) ## 代码1:chrome浏览器不会自动关闭 ``` from selenium import webdriver dr = webdriver.Chrome() dr.get('https://www.baidu.com/') ``` ## 代码2:chrome浏览器会自动关闭 ``` from selenium import webdriver def run(): dr = webdriver.Chrome() dr.get('https://www.baidu.com/') if __name__ == '__main__': run() ``` ## 代码3:chrome浏览器不会自动关闭 ``` from selenium import webdriver def run(): global dr dr = webdriver.Chrome() dr.get('https://www.baidu.com/') if __name__ == '__main__': run() ``` ## Others 以上三种代码统一换成Firefox浏览器的话,均不会自动关闭浏览器。 分析原因:代码2运行完之所以会关闭chrome浏览器,是因为对应chrome浏览器厂家提供的浏览器源生驱动文件(chromedriver.exe)自身逻辑设置引起的,方法运行完会自动关闭回收方法中定义的局部变量dr。如果不想让自动关闭方法中的局部变量对象dr,可以像代码3那样在变量名称前加个global声明下这是全局变量dr,或者把dr的定义像代码1那样定义到方法体的外面相当于全局变量。 Last modification:October 29, 2020 © Allow specification reprint Like