您好,登錄后才能下訂單哦!
pyppeteer -- python版本的puppeteer,一個強大的chronium headless瀏覽器API
最近搞天貓用了一波兒,記錄一下。
先上文檔:?https://miyakogi.github.io/pyppeteer/
舉個最簡單的例子入門一下:
比如打開百度,然后截圖
下面說一些小技巧:
1、啟動參數
注意:同一個用戶目錄(userDataDir)不能被兩個chrome進程使用,如果你要多開,記得分別指定用戶目錄。否則會報編碼錯誤。
2、設置viewport
自動獲取當前屏幕大小并設置viewport
3、導出或加載cookie
4、選擇器
讓人極度舒適的一個特性:
使用 page.querySelector如果沒有找到指定的對象,則返回None,而不是拋出異常。不管規范不規范,反正比selenium爽多了。
5、hook
在頁面開始加載前注入js代碼,例如修改掉webdriver屬性,讓天貓檢測不到
6、關于各種事件的isTrusted
這個js事件屬性,用js是無法偽造的,但是用pyppeteer發生的各種操作所觸發的事件,是完全真實的,這個歸功于CDP吧。
7、卡死
如果在操作過程中不小心點擊了某個a標簽,導致瀏覽器新打開了一個標簽頁,而你的代碼還在傻乎乎的使用之前的page對象做操作的時候,整個進程就卡住了
沒有超時、沒有異常、就是完全的不知道在干啥
當你把新開的標簽頁手動關閉后,一切就恢復原樣。
tips:
避免這種情況的發生,其實也很簡單,就是在每個可能誤操作點擊導致新開標簽頁的行為后面都強制關閉一下其他標簽頁:
比如:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。