【发布时间】:2021-12-11 22:11:19
【问题描述】:
我想将 cont 添加到 href 链接。我想使用常量。我遇到了问题:
const klik2 = await page.$x("//a[contains(@href, 'p2')]");
我要添加
const new = 'p' + [i];
现在'p2'在哪里。如何正确操作?
我的实际代码:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.setDefaultNavigationTimeout(0);
await page.goto("http://mypage.test/");
for (let i = 1; i < 100; i++) {
const link = 'p' + [i];
try {
const klik2 = await page.$x("//a[contains(@href, link)]");
await klik2[0].click();
} 抓住{
console.log(e);
}
await page.goto("http://mypage.test/");
})();
也尝试过这样的事情:
const klik3 = "'" + 'p1' + "'";
const klik = '"//a[contains(@href,' + klik3 + ')]"';
console.log(klik);
const klik2 = await page.$x(klik);
await klik2[0].click();
【问题讨论】:
-
我不确定你在问什么。
i是什么?通常连接字符串和数组是没有意义的。 -
我要使用 " for (let i = 1; i
-
您能否编辑帖子以包含该代码并显示您正在使用的页面。你想得到什么数据?你的意思是
for (let i = 1; i < 10; i++) { const link = `p${i}`; }还是"p" + i?同样,我不确定您为什么要将i放在单个元素数组中。 -
每个链接都包含p+数字,第一个元素包含p1,第二个包含p2,第三个p3。
标签: web-scraping xpath puppeteer href contains