没有使用close或者quit的情况下,Selenium自动关闭浏览器就是因为Selenium运行结束了。分两种情况:

1.程序运行完了,所以带着浏览器关闭了。

命令行运行时,或在打包好的程序运行时会有这种情况;在使用Pycharm之类IDE运行代码时候通常不会造成浏览器关闭,但也有可能在某些IDE里面出现网上建议使用option.add_experimental_option(“detach“, True)”。但是经测试发现这句效果不佳(其实在我这里基本没有起作用)。当然对于这种情况我们可以sleep,但是更建议浏览器动作放在一个函数里,从而和打开浏览器这个动作分离

s = Service(r"C:xxxxxxxchromedriver.exe")
WD = webdriver.Chrome(service = s)

def web_actions():
    WD.maximize_window()
    WD.get("https://xxxxxxx")
    .....

web_actions()

2. 程序中断退出,所以带着浏览关闭了。

程序运行出错,或者用户中断运行,造成程序中断,带着浏览器一起关闭。这种情况在使用IDE运行代码时候一般不会造成浏览器关闭。但是在命令行运行时,或在打包好的程序里会造成浏览器关闭。这种情况因为浏览动作已经被放进函数,所以只需要做个错误处理即可比如

try:
    web_actions()
except:
    time.sleep(1)

3.总结

s = Service(r"C:xxxxxxxchromedriver.exe")
WD = webdriver.Chrome(service = s)

def web_actions():
    WD.maximize_window()
    WD.get("https://xxxxxxx")
    .....

try:
    web_actions()
except:
    time.sleep(1)

#这里用来保证命令行运行的情况下,Python主程序不结束,否则会带着Selenium彻底退出,一样会关闭浏览input('Selenium running done.')

原文地址:https://blog.csdn.net/alarmise/article/details/129256472

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_39176.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注