innerHTML 不是 innerText,而是获取 querySelectorAll 的特定子元素
instead of innerText, innerHTML get specific sub-elements of querySelectorAll
在这两种情况下,我都得到了 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
。
在这两种情况下,我都得到了 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
。