javascript - 使用 puppeteer 在页面中基于文本的值搜索中使用正则表达式

标签 javascript node.js puppeteer

我必须解析一个基于正则表达式的网站 $x使用 p

<a href="">(001)</a>
<a href="">(002)</a>
<a href="">(003)</a>
<a href="">(004)</a>
<a href="">Hello1</a>
<a href="">Hello2</a>
<a href="">WOrld</a>

我正在使用下面的代码
const xpathTxtArr = await page.$x("//*/a[contains(text(), 'Hello')]");使用 hello 获取所有链接文本。

同样我想知道,如果我可以传递像 \d{3} 这样的正则表达式在 page.$x使用模式获取链接处理程序的表达式 (001) ?

最佳答案

好吧,我找不到答案。要 grep 我使用的文本 evaluate函数来获取所有内部文本。

这是示例代码

const result = await page.evaluate(async () => {
    console.log('Browser scope.');
    let elementTxtArr = [];
    document.querySelectorAll("a").forEach((a)=> {
       console.log(a.innerText);
       elementTxtArr.push(a.innerText);
    });
    return elementTxtArr;
});
console.log(result);

关于javascript - 使用 puppeteer 在页面中基于文本的值搜索中使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59233115/

相关文章:

javascript - Puppeteer - 使用多个选择器选择元素

JavaScript 逻辑/行为错误

javascript - 如何在 Javascript 中解析/过滤 JSON 文件中的数据

jquery - 使用 Node JS Jade 和 Ajax 的静态导航栏页脚

node.js - 在WORKDIR子目录的上下文中运行Docker CMD

Chromium 无法加载任何网站并且不断崩溃

JavaScript 根据日期计算年龄

javascript - 获取 Canvas 上下文的最后一个点的坐标

javascript - 获取 div 的文本而不是跨度

javascript - Chrome开发者工具协议(protocol): How to get click event handler name of a Node