演示自動訪問百度網(wǎng)站
之前已經(jīng)創(chuàng)建了一個chromehandless的文件夾并初始化,現(xiàn)在我們進入到該文件夾下,新建一個js文件命名為baiduTest.js。
baiduTest.js中代碼如下:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({executablePath:'./chromium/chrome',headless:false}); //chromium瀏覽器的位置。這個demo需要chromium瀏覽器,可將其放在chromehandless下。注釋1
const page = await browser.newPage(); //新建一個頁面.
await page.goto('https://www.baidu.com/'); //網(wǎng)頁跟蹤到百度網(wǎng)址.
await page.focus('#kw'); //關(guān)鍵字輸入框的id. 注釋2
await page.type('Alibaba',{delay: 100}); //在輸入框中自動輸入的關(guān)鍵字,這里輸入的是Alibaba,則搜索框內(nèi)會自動填入Alibaba,即自動以Alibaba為關(guān)鍵字進行搜索.
await page.click('#su'); //'百度一下'按鈕的id. 注釋3
const watchDog = page.waitForFunction('2 > 1',{timeout: 30000});
//try-catch-finally代碼塊可不要.
try
{
await watchDog;
}
catch (error)
{
console.log("error......");
}
finally {
browser.close(); //關(guān)閉瀏覽器。在運行代碼的時候可注釋掉該語句,看效果。
}
})();
在文件目錄下打開命令行窗口,輸入node baiduTest.js 看運行結(jié)果。
解釋一下上邊的注釋:
注釋1:
Chromium網(wǎng)絡(luò)瀏覽器項目是Google發(fā)布Chrome之后公開的源代碼項目,Chrome瀏覽器基于Chromium(谷歌瀏覽器)。Chromium 是 Google 的 chrome 瀏覽器背后的引擎,其目的是為了創(chuàng)建一個安全、穩(wěn)定和快速的通用瀏覽器。https://github.com/chromium/chromium
chromium源碼下載并編譯:
http://blog.csdn.net/cromma/article/details/51141573
注釋2
括號內(nèi)的’#kw’是百度搜索框的id,獲取方法:①鼠標點到搜索框—>右鍵—>檢查,會打開開發(fā)者模式,并且相應(yīng)代碼會高亮顯示。如下圖:
鼠標右鍵點擊高亮的代碼,選擇Copy—>Copy Selector,這就將搜索框的id復制下來了。
注釋3
方法同注釋1。
總結(jié)
通過做完這個小例子之后,覺得puppetter這個軟件工具可以很好的實現(xiàn)自動化測試,非常地方便,并且安裝環(huán)境也不是很難。
|