Javascript 在使用Puppeter的页面中基于文本的值搜索中使用正则表达式

Javascript 在使用Puppeter的页面中基于文本的值搜索中使用正则表达式,javascript,node.js,puppeteer,Javascript,Node.js,Puppeteer,我必须使用p解析一个基于regex for$x的网站 <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&

我必须使用p解析一个基于regex for
$x
的网站

<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>

我正在使用下面的代码

constxpathtxtarr=wait page.$x(“//*/a[contains(text(),'Hello')”)
获取包含
hello
文本的所有链接


类似地,我想知道,我是否可以在
页面中传递正则表达式,如
\d{3}
。$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);

我想你可以在这个链接中找到帮助:

我还没试过,但可能是:

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

完成此操作后,您是否能够在“result”函数之外使用正则表达式来查找包含“hello”一词的内容?我正在做类似的事情。如果在你回答之前我找到了解决方案,我会把它贴在这里。