(資料圖)
with sync_playwright() as playwright: # 省略了start啟動 browser = playwright.chromium.launch(headless=False, slow_mo=5000) # 設置了每步等待時間為3s context = browser.new_context() page = context.new_page() # 打開一個頁面 page.goto("http://demo.liumatest.cn/#/home/dashboard") # 打開地址 # 輸入賬號密碼登錄 page.fill("#username","demo") # 輸入賬號 page.fill("#password","123456") # 輸入密碼 page.click("#login") # 點擊登錄 page.wait_for_timeout(2000) browser.close() # 省略了關閉playwright對象運行一下,可以看到我們已經成功登錄了,現在我們要保存登錄的cookie信息,我們使用下邊這個:
context.storage_state(path="cookie.json")意思是什么呢?聽我給你慢慢解釋:
storage_state 直譯為存儲狀態,就如直譯一樣,這個方法會返回當前瀏覽器上下文的存儲狀態,其中就會包含當前的cookie,我們如果提供路徑參數,就會保存到指定的文件中,返回是一個字典
所以上邊我們使用了path表示把cookie保存存儲到cookie.json的文件中page.click("#login") # 點擊登錄context.storage_state(path="cookie.json") # 保存storage_state 到JSON文件再次運行查看下,我們的cookie.json文件已經保存在當前項目地址下了到這里,我們第二步也已經完成了接下來,我們來直接登錄網站吧,看是不是已經登錄成功了
with sync_playwright() as playwright: # 省略了start啟動 browser = playwright.chromium.launch(headless=False, slow_mo=5000) # 設置了每步等待時間為3s context = browser.new_context(storage_state="cookie.json") page = context.new_page() # 打開一個頁面 page.goto("http://demo.liumatest.cn/#/home/dashboard") # 打開地址 page.screenshot(path="image.png") browser.close() # 省略了關閉playwright對象
我們怎么檢驗是否登錄成功呢?
選擇使用screenshot的方法,意思是截圖整個頁面,保存在當前的image.png文件中,我們查看進入網站的截圖至此,我們完成了需求,
那接下來找一個網站嘗試下吧
關鍵詞: