diff --git a/lighthouse-cli/test/fixtures/dobetterweb/dbw_tester.html b/lighthouse-cli/test/fixtures/dobetterweb/dbw_tester.html index 0627ee7aff90..fca0681ac5b7 100644 --- a/lighthouse-cli/test/fixtures/dobetterweb/dbw_tester.html +++ b/lighthouse-cli/test/fixtures/dobetterweb/dbw_tester.html @@ -108,6 +108,23 @@ + + + + + + + +

Do better web tester page

Hi there! diff --git a/lighthouse-core/gather/driver.js b/lighthouse-core/gather/driver.js index bb80ba984dc5..4e45acedb23f 100644 --- a/lighthouse-core/gather/driver.js +++ b/lighthouse-core/gather/driver.js @@ -1137,7 +1137,8 @@ class Driver { async cacheNatives() { await this.evaluateScriptOnNewDocument(`window.__nativePromise = Promise; window.__nativeError = Error; - window.__nativeURL = URL;`); + window.__nativeURL = URL; + window.__ElementMatches = Element.prototype.matches;`); } /** diff --git a/lighthouse-core/lib/page-functions.js b/lighthouse-core/lib/page-functions.js index b674e0d60db7..01fc1057ae8b 100644 --- a/lighthouse-core/lib/page-functions.js +++ b/lighthouse-core/lib/page-functions.js @@ -90,7 +90,7 @@ function getElementsInDocument(selector) { /** @param {NodeListOf} nodes */ const _findAllElements = nodes => { for (let i = 0, el; el = nodes[i]; ++i) { - if (!selector || el.matches(selector)) { + if (!selector || window.__ElementMatches.call(el, selector)) { results.push(el); } // If the element has a shadow root, dig deeper.