簡體   English   中英

Puppeteer 標識符字符串變量不會解析; 不確定為什么

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM