XCUIElement 获取底层元素对象,例如 WebView

Posted

技术标签:

【中文标题】XCUIElement 获取底层元素对象,例如 WebView【英文标题】:XCUIElement getting underlying element object such as WebView 【发布时间】:2016-02-12 19:16:21 【问题描述】:

有什么方法可以捕获实际的 UI Cocoa 对象?即:

let window = app.windows["mainScreen"]
let view = window.webViews["myWebView"]
let webView = view as! WebView

【问题讨论】:

【参考方案1】:

很遗憾,没有。 Xcode UI 测试在与生产应用程序不同的进程中运行。运行这些测试时,无法访问任何 UI/Cocoa 对象。

【讨论】:

谢谢 - 我的后续问题我可以重新格式化这个 - 当我们有一个 XCUIElement 对象时,解析 WebView 内容和读取内容的最佳方法是什么? XCUIApplication().staticTexts["content"].links["other"] 应该可以工作。如果您有更具体的问题,请发布一个新问题,如果可以,我会提供帮助。另外,我写了一点UI Testing Cheat Sheet,更详细地回答了其中一些问题。 给定 window.webViews["myWebView"],我将如何仅提取此视图的内容?您指出的方法似乎是在应用程序级别。

以上是关于XCUIElement 获取底层元素对象,例如 WebView的主要内容,如果未能解决你的问题,请参考以下文章

当它不是可访问性元素时,是不是可以通过其 `accessibilityId` 获取`XCUIElement`?

如何通过Swift中的部分标签文本找到XCUIElement搜索?

XCUIElement 唯一标识符

如何获取 XCUIElement 的值?

如何查看 XCUIElement 树?

如何在 XCUIElementQuery 中获取 XCUIElement 的索引?