使用Puppeteer,我选择了一些HTML元素:await page.$$( 'span.styleNumber' );
我可以使用以下方法获取元素的文本:console.log( await ( await styleNumber.getProperty( 'innerText' ) ).jsonValue() );
我怎样才能获得元素的data-Color属性的值?
这是我的脚本:
HTML
1 | <span class="styleNumber" data-Color="Blue"\>SG1000</span\> |
JS
1 | const puppeteer = require( 'puppeteer' ); |
上面的代码会打印出来:
1 | SG1000 |
如何获取data-Color属性的值?有两种方法:
第一种方式
您可以使用evaluate
方法获取属性值。
await page.evaluate('document.querySelector("span.styleNumber").getAttribute("data-Color")')
第二种方式
$$eval
方法也可以使用。还有从变量调用Array的属性
const attr = await page.$$eval("span.styleNumber", el => el.map(x => x.getAttribute("data-Color")));
输出将是
["Blue", "Green", "Red"]
完整解决方案
1 | const styleNumbers = await page.$$("span.styleNumber"); |