问题描述
我正在与Playwright刮目录。我可以像这样获得每个“块”内容:
let nestedElementsToCapture = ['.title','.subhead','#url']
this.page.$$eval('li',(spans) =>
spans.map((span) => span.innerText)
);
我不知道如何在每个“块”中获取已定义的嵌套元素。
例如:
li > .title
,li > .subhead
,li > #url
我将如何为每个块捕获这些元素?现在,我得到的只是一大串文本,其中包含每个li
解决方法
我会将那个数组传递给$$eval
函数,解决该函数中的所有内容,然后返回某种对象。
我将参数名称设置为childSelectors
,因此很明显您无法访问函数内部的nestedElementsToCapture
变量。
let nestedElementsToCapture = ['.title','.subhead','#url']
this.page.$$eval(
'li',(spans,childSelectors) => {
return spans.map((span) => {
let result = {
title = span.querySelector(childSelectors[0]).innerText,subHead = span.querySelector(childSelectors[1]).innerText,url = span.querySelector(childSelectors[2]).innerText,};
return result;
});
},nestedElementsToCapture);