当前位置: 首页 > 工具软件 > Web Puppeteer > 使用案例 >

puppeteer登录网站获取页面元素

赵飞雨
2023-12-01

puppeteer的介绍就不说了,自己baidu/chrome吧, 在这里会放一个小小的登陆功能,涉及到输入框定位,button的点击,爬取div内的页面元素。

1. headless:无痕模式,如果不设置就默认是true,不会显示浏览器。

2. defaultViewport: 窗口分辨率,如果不设置默认是8xx * 6xx,个人感觉页面内容不太友好。

3. page.& 相当于find element, 寻找和匹配某元素,如果有多个则默认返回第一个。

4. page.waitForSelector, 等到某元素出现

5. $eval....ele=>ele.innerT

ext, 获取元素的文本内容。

const puppeteer = require("puppeteer");
async function run() {
    const broswer = await puppeteer.launch({
        headless: false,
        defaultViewport: { width: 1780, height: 768 }
    });
    const page = await broswer.newPage();
    await page.goto('https://www.xxx.com');
    const input_area = await page.$('#kw'); //输入框
    await input_area.type("Hello World");
    const btn_search = await page.$("#su") //按钮
    await btn_search.click();
    await page.waitForSelector('#content_left>.result.c-container.xpath-log.new-pmd');
    let resultText = await page.$eval('#content_left>.result.c-container.xpath-log.new-pmd', ele=>ele.innerText);
    console.log("result Text = \n", resultText);
}
run();

输出内容:

result Text =  helloworld - 同一个世界,同一行代码
作者榜 李志宽网络安全工程师 Wesley13 Stella981 专注IP定位 放学路上 Python进阶者 推荐专栏 CuterCorley移动应用开发 9个章节 • 9137阅读 代码哈士奇云开发基础入门 16个章节 • 14654阅读 ...
www.helloworld.net/
 

 类似资料: