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

知識點css

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

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

page.waitFor 頁面等待,能夠是時間、某個元素、某個函數瀏覽器

page.frames() 獲取當前頁面全部的 iframe,而後根據 iframe 的名字精確獲取某個想要的 iframeless

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

iframe.evaluate() 在瀏覽器中執行函數,至關於在控制檯中執行函數,返回一個 Promiseui

Array.from 將類數組對象轉化爲對象lua

page.click() 點擊一個元素url

iframe.$eval() 至關於在 iframe 中運行 document.queryselector 獲取指定元素,並將其做爲第一個參數傳遞spa

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 });
相關文章
相關標籤/搜索