1. 程式人生 > >PyQt5開發中獲取QWebEngineView的cookie

PyQt5開發中獲取QWebEngineView的cookie

由於公司的需求,今天用QWebEngineView做了一個瀏覽器,在裡面登入之後之後,需要獲取到cookie,

對於一個python使用者,首先想到的就是用selenium獲取瀏覽器的cookie,但是這是PyQt開發啊!!!!!

在網上找了半天教程,發現一些東西,但是都不怎麼實用啊,搞了半天沒搞好,突然靈光一現,能不能用js獲取呢?

廢話少說,直接上程式碼:

# 利用runJavaScript方法執行js程式碼,先宣告一個函式,功能是獲取cookie
view.page().runJavaScript("function test(){return document.cookie}")
# 執行函式,將執行的結果傳到call_back函式裡去
view.page().runJavaScript("test();", self.call_back)

def call_back(self, result):
    print(result)          # 在這裡輸出cookie

最後成功獲取到cookie,非常簡單,比網上的幾十行程式碼精簡多了

疑難雜症:這個輸出只有在所有操作完成後才會執行,原因未知,PyQt5相關的文件太少了,C++的又看不懂,官方文件也看不懂,英語真的是程式設計師的一大硬傷啊。