返回函數值語句: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返回函數值又不中斷後面命令的語句,或者有更加簡單的方法,希望大神能夠指教!!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章