Chrome中getInnerHTML函数的用途/历史是什么

v8wbuo2f  于 2023-09-28  发布在  Go
关注(0)|答案(1)|浏览(105)

Chrome似乎已经定义了HTMLElement.prototype.getInnerHTML。我在网上找不到任何关于这个的信息。显然Chrome仍然提供了innerHTML属性,它可以像预期的那样工作,但我想知道为什么getInnerHTML方法会在那里。我在safari和firefox中测试过,它不存在,所以我假设它是Chrome特定的。我想知道这个方法相对于innerHTML的用途/历史

e5nszbig

e5nszbig1#

它似乎是Angular的量角器(2023年8月停产)测试框架以及旧版本的Selenium的一部分。Protractor是Selenium Web驱动程序的 Package 器。
在量角器中,该方法存在于:webdriver.WebElement.prototype.getInnerHtml。此方法的返回类型为!webdriver.promise.Promise,将使用元素的内部HTML解析。它是一个函数,因为值并不总是立即可用。

/**
 * Schedules a command to retrieve the inner HTML of this element.
 * @return {!webdriver.promise.Promise.<string>} A promise that will be
 *     resolved with the element's inner HTML.
 */
webdriver.WebElement.prototype.getInnerHtml = function() {
  return this.driver_.executeScript('return arguments[0].innerHTML', this);
};

我假设它在Chrome中,因为Angular是由Google维护的。
您可以随时添加自己的polyfill:

if (HTMLElement.prototype.getInnerHTML === undefined) {
  HTMLElement.prototype.getInnerHTML = function() {
    return this.innerHTML;
  }
}

相关问题