Javascript 在使用Puppeter的页面中基于文本的值搜索中使用正则表达式
我必须使用p解析一个基于regex forJavascript 在使用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&
$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”一词的内容?我正在做类似的事情。如果在你回答之前我找到了解决方案,我会把它贴在这里。