首页 > 解决方案 > Puppeteer - 检查特定文本是否存在

问题描述

我正在使用 puppeteer 检查网页上出现的特定文本。我要检查的代码如下:

if ((await page.waitForXPath('//span[contains(text(), "Subscription Confirmed")]',30000)) !== null) {
  chk = await page.evaluate(el => el.innerText, await page.$x('//span[contains(text(), "Subscription Confirmed")]'))
  chk = 'Success'
} else {
  // do something else
  chk = 'Failed'
}

由于某种原因,这似乎没有检测到文本。我附上了网页 DOM 的屏幕截图,您可以在其中看到文本 - DOM。希望有人能帮忙。

标签: javascriptxpathtextpuppeteercontains

解决方案


尝试以下操作:

if ((await page.waitForXPath('//*[contains(text(), "Subscription Confirmed")]',30000)) !== null) {
   chk = await page.evaluate(el => el.innerText, await page.$x('//*[contains(text(), "Subscription Confirmed")]'))
   chk = 'Success'
} else { 
   chk = 'Failed'
}

推荐阅读