返回函数值语句:selenium获取cookies中close浏览器

我在通过selenium使用headless的Firefox获取需要访问网站的cookies时,发现返回函数值的return语句与关闭浏览器两者不可得兼。
因为如果需要函数返回cookies,那么浏览器关闭命令就需要在return后面,但是return不仅具有返回的作用还具有break的作用,如下图:
在这里插入图片描述
导致浏览器无法关闭,如下图(在任务管理器中)
在这里插入图片描述
浏览器无法关闭会导致占用大量内存,不利于电脑运行,直观感受就是会卡顿。

而将浏览器关闭命令提前,
在这里插入图片描述
会报错:
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSessionIdException: Message: Tried to run command without establishing a connection

在这里插入图片描述
其实就是无法获取所需要东西,因为提前关闭了浏览器。
那么问题来了,有没有什么办法使得仅能够关闭浏览器有获得返回返回值呢?
我找了一下python的内置函数却没有发现,但是与return作用相似还有yield,yield可以返回函数值又不会中断后面的命令。
在这里插入图片描述
如下图,任务管理器中没有了Firefox:
在这里插入图片描述
然而
这里有个问题就是非常麻烦,因为yield返回的是list类型,需要进行字符串处理。

暂时没有找到其他方法,如果python存在return返回函数值又不中断后面命令的语句,或者有更加简单的方法,希望大神能够指教!!!!!

发布了22 篇原创文章 · 获赞 25 · 访问量 3293

猜你喜欢

转载自blog.csdn.net/python__reported/article/details/105425967
今日推荐