Controller
WebView自动化控制器接口。
提供了一套全面的API,用于以同步阻塞的方式与WebView中的网页内容进行交互。 该接口遵循“快速失败”原则:所有方法在成功时返回预期数据,在操作失败时(如找不到元素、超时等)则会直接抛出异常。
⚠️ 警告: 此接口中的所有方法均为阻塞操作,会暂停调用它们的线程, 直到操作完成或超时。因此,绝对禁止在UI主线程中调用这些方法, 否则将导致应用程序无响应(ANR)。请务必在后台线程(如 IO
调度器)中执行这些操作。
Functions
选择文件,会先执行 action,然后将 fileChooser 作为选择结果返回
清空 LocalStorage 中的所有数据。
清空 SessionStorage 中的所有数据。
模拟在指定元素上进行右键点击,以触发上下文菜单(context menu)。
删除当前网页下的所有 Cookie。
删除指定名称的 Cookie。
模拟双击指定元素。
下载文件,会先执行 action, 然后将文件保存到 fileDownloader 返回值所指定的文件中
模拟将一个元素拖拽到另一个元素上。
加载并执行网络中的JavaScript文件,并同步等待其执行结果。
执行本地存储的JavaScript文件,并同步等待其执行结果。
在当前上下文(主文档或已切入的iframe)中执行一段自定义的JavaScript脚本。
获取当前网页下所有 Cookie。
获取由XPath指定的元素的某个HTML属性值 (Attribute)。 这是指在HTML源码中定义的属性。对于动态改变的状态(如输入框的当前值),请使用 getProperty
。
获取由XPath指定的元素的计算后CSS样式属性值。
获取当前WebView加载的URL。
获取所有匹配XPath的元素的数量。
从 LocalStorage 中获取指定键的值。
获取当前页面的完整HTML源代码 (document.documentElement.outerHTML
)。
获取由XPath指定的元素的某个 DOM 属性值 (Property)。 这与 getAttribute
不同,它获取的是元素在内存中的实时属性值。 例如,对于一个输入框,getAttribute("value")
获取的是HTML中的初始值,而 getProperty("value")
获取的是用户输入后的当前值。
从 SessionStorage 中获取指定键的值。
检查由XPath指定的元素是否在页面上可见。 一个元素被认为是可见的,必须满足以下所有条件:
检查表单元素(如复选框、单选按钮、<option>
)是否被选中。
导航到指定的网址。
从 LocalStorage 中移除指定键。
从 SessionStorage 中移除指定键。
将指定的元素滚动到浏览器的可视区域内,并尽量使其居中。
根据value
属性选择<select>
下拉列表中的选项。
根据可见文本内容选择<select>
下拉列表中的选项。
在 LocalStorage 中设置键值对。
在 SessionStorage 中设置键值对。
从当前iframe(无论嵌套多深)切换回主文档上下文。
切换到指定的iframe中。后续所有操作都将在此iframe的上下文中执行。 此操作可以嵌套,即可以从一个iframe切换到其内部的另一个iframe。
截取由XPath指定的单个元素的图像,并将其保存到指定文件。 此方法会先将元素滚动到视图内(如果需要),然后截取其可视部分的图像。
获取WebView 可视区域 的截图,并将其保存到指定文件。 注意:此方法仅截取当前屏幕上可见的部分,不会滚动截取整个长网页。
通过轮询检查,等待由XPath指定的元素出现在DOM中,直到超时。
通过轮询检查,等待由XPath指定的元素变得可见,直到超时。