我正在尝试从页面上获取一个按钮。我正在打印所有类,然后尝试获取其中一个类的元素。我的代码如下:
const classes = await page.evaluate( () => {
var allClasses = [];
var allElements = document.querySelectorAll('*');
for (var i = 0; i < allElements.length; i++) {
var classes = allElements[i].className.toString().split(/\s+/);
for (var j = 0; j < classes.length; j++) {
var cls = classes[j];
if (cls && allClasses.indexOf(cls) === -1)
allClasses.push(cls);
}
}
return allClasses;
});
const chevron = await page.evaluate( () => {
const c = document.querySelector('coreSpriteRightChevron');
return c;
})
console.log(classes);
console.log(chevron);
此日志:
[
'js',
'not-logged-in',
'client-root',
'js-focus-visible',
'sDN5V',
'_9eogI',
'E3X2T',
'SCxLW',
'o64aR',
'Kj7h1',
'ltEKP',
'QBXjJ',
'M9sTE',
'L_LMM',
'JyscU',
'Tgarh',
'ePUX4',
'Ppjfr',
'UE9AK',
'wdOqh',
'RR-M-',
'h5uC0',
'mrq0Z',
'CfWVH',
'_2dbep',
'_6q-tv',
'o-MQd',
'z8cbW',
'PQo_0',
'RqtMr',
'e1e1d',
'BrX75',
'FPmhX',
'notranslate',
'nJAzx',
'mewfM',
'Szr5J',
'coreSpriteVerifiedBadgeSmall',
'bY2yH',
'RPhNB',
'oW_lN',
'sqdOP',
'yWX7d',
'y3zKF',
'M30cS',
'JF9hh',
'_97aPb',
'wKWK0',
'rQDP3',
'pR7Pc',
'tR2pe',
'tN4sQ',
'zRsZI',
'NgKI_',
'MreMs',
'qqm6D',
'YlNGR',
'_-1_m6',
'bsGjF',
'ZyFrc',
'eLAPa',
'RzuR0',
'KL4Bh',
'FFVAD',
'_9AhH0',
'_6CZji',
'coreSpriteRightChevron',
'JSZAJ',
'_3eoV-',
'IjCL9',
'WXPwG',
'Yi5aA',
'XCodT',
'eo2As',
'ltpMr',
'Slqrh',
'fr66n',
'dCJp8',
'afkep',
'glyphsSpriteHeart__outline__24__grey_9',
'u-__7',
'_15y0l',
'glyphsSpriteComment__outline__24__grey_9',
'_5e4p',
'glyphsSpriteShare__outline__24__grey_9',
'wmtNn',
'glyphsSpriteSave__outline__24__grey_9',
'EDfFK',
'ygqzn',
'Igw0E',
'IwRSH',
'eGOV_',
'ybXk5',
'vwCYk',
'Nm9Fw',
'_8A5w5',
'EtaWk',
'XQXOT',
'gElp9',
'rUo9f',
... 111 more items
]
null
这是所有类的列表,其中包含我尝试使用document.querySelector()
获取的类。该类将显示在列表中,但是尝试从类coreSpriteRightChevron
中获取按钮会返回null。
任何帮助将不胜感激。谢谢
答案 0 :(得分:1)
也许这行得通吗?
const chevron = await page.evaluate( () =>
document.querySelector('.coreSpriteRightChevron')
)