演示自动访问百度网站
之前已经创建了一个chromehandless的文件夹并初始化,现在我们进入到该文件夹下,新建一个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/'); //网页跟踪到百度网址.
await page.focus('#kw'); //关键字输入框的id. 注释2
await page.type('Alibaba',{delay: 100}); //在输入框中自动输入的关键字,这里输入的是Alibaba,则搜索框内会自动填入Alibaba,即自动以Alibaba为关键字进行搜索.
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(); //关闭浏览器。在运行代码的时候可注释掉该语句,看效果。
}
})();
在文件目录下打开命令行窗口,输入node baiduTest.js 看运行结果。
解释一下上边的注释:
注释1:
Chromium网络浏览器项目是Google发布Chrome之后公开的源代码项目,Chrome浏览器基于Chromium(谷歌浏览器)。Chromium 是 Google 的 chrome 浏览器背后的引擎,其目的是为了创建一个安全、稳定和快速的通用浏览器。https://github.com/chromium/chromium
chromium源码下载并编译:
http://blog.csdn.net/cromma/article/details/51141573
注释2
括号内的’#kw’是百度搜索框的id,获取方法:①鼠标点到搜索框—>右键—>检查,会打开开发者模式,并且相应代码会高亮显示。如下图:
鼠标右键点击高亮的代码,选择Copy—>Copy Selector,这就将搜索框的id复制下来了。
注释3
方法同注释1。
总结
通过做完这个小例子之后,觉得puppetter这个软件工具可以很好的实现自动化测试,非常地方便,并且安装环境也不是很难。
|