分享

puppeteer学习(二)

 丰收书屋 2019-12-24

演示自动访问百度网站

之前已经创建了一个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这个软件工具可以很好的实现自动化测试,非常地方便,并且安装环境也不是很难。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多