网站建设账户搭建,微信开放平台是干什么用的,网站卖东西怎么做的,外贸平台网站有哪些目录 一、获取界面二维码并打印处理
二、等待某个元素消失后 再进行操作
三、使用puppteer点击搜索框#xff0c;并输入内容后点击搜索 一、获取界面二维码并打印处理
const puppeteer require(puppeteer);async function findQRCodeByXPath() {const browser await pupp…
目录 一、获取界面二维码并打印处理
二、等待某个元素消失后 再进行操作
三、使用puppteer点击搜索框并输入内容后点击搜索 一、获取界面二维码并打印处理
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();
三、使用puppteer点击搜索框并输入内容后点击搜索
//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[namesearch]);
// 等待一定时间确保搜索框被激活
await page.waitForTimeout(1000); // 1秒
// 在相应的选择器上执行输入操作
await page.type(input[namesearch], 关键字);// 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;}
}