Javascript 使用木偶演员,如何从<;h1>;标签?
我用的是黄瓜和木偶演员。我很难从Javascript 使用木偶演员,如何从<;h1>;标签?,javascript,node.js,google-chrome-devtools,puppeteer,Javascript,Node.js,Google Chrome Devtools,Puppeteer,我用的是黄瓜和木偶演员。我很难从标记中提取文本 余烬hbs代码为: <div class="grid__cell" data-test-foobar4="true"> <h1 class="ao-headline u-font--light" data-test-foobar3="true">{{pageTitle}}</h1> </div> 当我运行此程序时,我得到: 错误:评估失败:TypeError:无法读取null的属性“text
标记中提取文本
余烬hbs代码为:
<div class="grid__cell" data-test-foobar4="true">
<h1 class="ao-headline u-font--light" data-test-foobar3="true">{{pageTitle}}</h1>
</div>
当我运行此程序时,我得到:
错误:评估失败:TypeError:无法读取null的属性“textContent”
这对我来说毫无意义。我查看HTML,发现:
<h1 data-test-foobar3="true" class="ao-headline u-font--light">Imports</h1>
导入
哪里出了问题?元素很可能是动态生成的,因此您应该等待元素,然后再尝试刮取:
你是对的-我已经输入了waitForSelector()。根据经验,对于动态(在我的例子中是使用{{}}的emberJS组件),我需要等待,否则代码将在尚未呈现时尝试查找它。
<h1 data-test-foobar3="true" class="ao-headline u-font--light">Imports</h1>
await page.waitForSelector('[data-test-foobar3="true"]');
const textContent = await page.evaluate(() => document.querySelector('[data-test-foobar3="true"]').textContent);
console.log('Page title = ' + textContent);