问题描述
在这两种情况下,我都获得了 html,但希望从列循环中获取 url,而不是将 html 作为字符串。
例如:
<img src="../uploads/spooky/26785.jpg" data-src="../uploads/spooky/26785.jpg" class="Foo">
应该是 => '../uploads/spooky/2687.jpg'
const result = await page.$$eval('table tr.GridCell',rows => {
return Array.from(rows,row => {
const columns = row.querySelectorAll('td');
return Array.from(columns,(column,i) => {
if(i==2){
// want src
return column.innerHTML;
}
if (i==14 || i ==15){
//want url
return {name: column.innerText,url: column.innerHTML}
}
return column.innerText});
});
});
解决方法
如果我理解正确,您需要 column.querySelector('img.Foo').getAttribute('src')
而不是 column.innerHTML
。