目录
- const puppeteer = require('puppeteer');
-
- async function findQRCodeByXPath() {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
-
- await page.goto('https://example.com');
-
- const xPath = '//img[contains(@class, "qrcode")]'; // 替换为实际的 XPath 表达式
-
- const qrcodeElements = await page.$x(xPath);
-
- if (qrcodeElements.length > 0) {
- const qrcodeHandle = await page.evaluateHandle((el) => el.getAttribute('src'), qrcodeElements[0]);
- const qrcodeData = await qrcodeHandle.jsonValue();
-
- console.log('二维码:', qrcodeData);
- // 在这里可以进行二维码的处理
- } else {
- console.log('没有找到二维码');
- }
-
- await browser.close();
- }
-
- findQRCodeByXPath();
- const puppeteer = require('puppeteer');
-
- async function waitForPopupToDisappearAndScroll() {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
-
- await page.goto('https://example.com');
-
- const popupSelector = '.popup'; // 替换为实际弹框元素的 CSS 选择器
-
- try {
- await page.waitForSelector(popupSelector, { timeout: 5000 });
-
- // 弹框出现,等待其消失
- await page.waitForSelector(popupSelector, { hidden: true, timeout: 5000 });
-
- console.log('弹框已消失');
-
- // 执行其他滑动界面操作
- await page.evaluate(() => {
- // 执行滑动操作的代码
- });
- } catch (error) {
- console.log('没有弹框');
- }
-
- await browser.close();
- }
-
- waitForPopupToDisappearAndScroll();
- //1. 使用 Puppeteer 打开页面:
-
- const puppeteer = require('puppeteer');
-
- const main = async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- await page.goto('https://example.com'); // 替换为目标网页 URL
- // 执行后续操作
- };
-
- main();
-
-
- // 2. 点击搜索框并输入关键字:
-
- // 在相应的选择器上执行点击操作
- await page.click('input[name="search"]');
- // 等待一定时间,确保搜索框被激活
- await page.waitForTimeout(1000); // 1秒
- // 在相应的选择器上执行输入操作
- await page.type('input[name="search"]', '关键字');
-
-
- // 3. 等待结果出现并滑动界面到底:
-
- // 等待搜索结果出现,这里使用简单的等待时间,也可以根据实际情况使用更复杂的等待条件
- await page.waitForTimeout(3000); // 3秒
-
- while (true) {
- // 滑动到底部
- await page.evaluate(() => {
- window.scrollTo(0, document.body.scrollHeight);
- });
-
- // 等待一小段时间,让页面加载内容
- await page.waitForTimeout(1000); // 1秒
-
- // 检查是否已经滑动到底部(可以根据页面元素,如底部加载提示等判断)
- const isEndReached = await page.evaluate(() => {
- // 检查页面是否已经滑动到底部的逻辑,例如:
- // return document.querySelector('#load-more-button') === null;
- // 如果你有特定的元素表示已经到达底部,请适配对应的逻辑
- });
-
- if (isEndReached) {
- break;
- }
- }