setInnerHtml

abstract fun setInnerHtml(scope: CoroutineScope, xpath: String, html: String): Deferred<Boolean>

直接修改指定元素的内部 HTML 结构(innerHTML)。

此方法通过直接操作 DOM 的 innerHTML 属性来修改元素的内容。 与 setTextContent 不同,此方法会解析传入字符串中的 HTML 标签并渲染。

示例: 假设页面有一个空标签:<div id="container"></div> 调用此方法传入 HTML:"<p style='color:red'>Hello</p>" 结果变为:<div id="container"><p style='color:red'>Hello</p></div>

⚠️ 注意事项:

  1. 非模拟行为:此操作属于开发者层面的 DOM 强制修改,普通用户无法在浏览器中直接完成此操作。

  2. 覆盖内容:此方法会完全替换目标元素内的所有原有子节点和文本。

  3. 脚本注入:请确保传入的 HTML 字符串是安全的,避免在测试环境中意外触发不可控的 XSS 脚本执行(虽然在自动化测试场景中这通常是预期的)。

Return

Deferred<Boolean>:如果修改成功返回 true;如果在 DOM 中找不到元素、元素不可写或 JS 执行出错则返回 false

Parameters

scope

用于执行异步操作的 CoroutineScope

xpath

目标元素的 XPath 路径。

html

要设置的 HTML 字符串片段。