puppeteer自動化測試系列之二---puppeteer常用方法


知識點

page.type 獲取輸入框焦點並輸入文字

page.keyboard.press 模擬鍵盤按下某個按鍵,目前mac上組合鍵無效為已知bug

page.waitFor 頁面等待,可以是時間、某個元素、某個函數

page.frames() 獲取當前頁面所有的 iframe,然后根據 iframe 的名字精確獲取某個想要的 iframe

iframe.$('.srchsongst') 獲取 iframe 中的某個元素

iframe.evaluate() 在瀏覽器中執行函數,相當於在控制台中執行函數,返回一個 Promise

Array.from 將類數組對象轉化為對象

page.click() 點擊一個元素

iframe.$eval() 相當於在 iframe 中運行 document.queryselector 獲取指定元素,並將其作為第一個參數傳遞

iframe.$$eval 相當於在 iframe 中運行 document.querySelectorAll 獲取指定元素數組,並將其作為第一個參數傳遞

一些默認的設置和開發調試建議

1. 使用Headless模式

Puppeteer默認以Headless模式加載Chromium,如果想加載完整的Chromium(這樣方便觀察網頁加載的效果究竟是怎么樣的),可以執行以下命令

const browser = await puppeteer.launch({headless: false}); // default is true

2. 使執行本地版本的Chrome或者Chromium

const browser = await puppeteer.launch({executablePath: '/path/to/Chrome'});

3. 延遲執行Puppeteer

 const browser = await puppeteer.launch({ headless: false, slowMo: 250 // slow down by 250ms });

4. 獲取控制台輸出

可以監聽console的事件,也可以通過evaluate來執行console

 page.on('console', msg => console.log('PAGE LOG:', msg.text())); await page.evaluate(() => console.log(`url is ${location.href}`));

5. 設置頁面視窗大小

await page.setViewport({ width: 1366, height: 768 * 2 });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM