[英]Puppeteer identifier string variable won't parse; Unsure why
我正在尝试在 puppeteer 字符串中使用字符串,但由于某种原因它不起作用。
具体使用此代码
await page.waitForSelector('div[class = "sh-dlr__list-result"')
当我尝试解析变量时
let identified1 = 'div[class = "sh-dlr__list-result"'
所以制作
await page.waitForSelector(identified1)
它行不通。 这真的是有限的,有没有办法解决这个问题?
这是扩展代码
https://jsfiddle.net/hewlbern/6p7kdozt/10/在您的计算机上运行它,jsfiddle 不确定我是否可以从那里运行它。
我相信它现在正在创建 cors 错误 - 非常奇怪:为什么使用变量会创建 cors 错误:/
谢谢!
原因是因为您在page.evaluate()
中声明identified
。 因此,当您执行以下操作时,它已经超出了 scope。
if (currentPage < pagesToScrape) {
console.log(identified1);
await Promise.all([
await page.click(buttonSelector),
await page.waitForSelector(identified),
]);
}
您确实记录了identified1
,但您正在为选择器使用identified
。
您必须像这样将identifier2
传递给pageFunction
:
let newProducts = await page.evaluate(({ identifier2 }) => {
// ...
},{ identifier2 });
请参阅此处的一些示例:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.