1

我正在尝试向 Lighthouse 添加一些自定义指标。为了做一些基本的检查,我需要获取网页的原始 HTML。

我尝试使用driver.sendCommand( DOM.getDocumentor DOM.getFlattenedDocument) 和driver.querySelectorAll('html')and没有任何成功driver.evaluateAsync('document.documentElement.outerHTML')。如何设法将原始 HTML 从 Chrome 获取到 Lighthouse?

谢谢,

法比奥

4

1 回答 1

1

这应该是对driver.evaluateAsync收集者的直接调用。就像是:

const expression = `document.querySelector('html').outerHTML`;
const html = await passContext.driver.evaluateAsync(expression);

afterPassgatherer里面应该可以得到html。 HTML w/o Javascript可以做到这一点。修改该收集器中的表达式以了解它应该如何工作。

这是一个非常粗略的示例,一旦从不使用 Javascript 的 HTML 上的黑客攻击收集到 html,就只记录它:

粗略截图

于 2018-10-23T01:39:45.227 回答