选择器
WebdriverIO MCP 服务器支持多种选择器策略,用于定位网页和移动应用程序中的元素。
信息
有关包括所有 WebdriverIO 选择器策略在内的综合选择器文档,请参阅主要的选择器指南。本页面主要关注 MCP 服务器常用的选择器。
Web 选择器
对于浏览器自动化,MCP 服务器支持所有标准的 WebdriverIO 选择器。最常用的包括:
| 选择器 | 示例 | 描述 |
|---|---|---|
| CSS | #login-button, .submit-btn | 标准 CSS 选择器 |
| XPath | //button[@id='submit'] | XPath 表达式 |
| 文本 | button=Submit, a*=Click | WebdriverIO 文本选择器 |
| ARIA | aria/Submit Button | 无障碍名称选择器 |
| 测试 ID | [data-testid="submit"] | 推荐用于测试 |
有关详细示例和最佳实践,请参阅选择器文档。
移动端选择器
移动端选择器通过 Appium 在 iOS 和 Android 平台上工作。
无障碍 ID(推荐)
无障碍 ID 是最可靠的跨平台选择器。它们在 iOS 和 Android 上都能工作,并在应用更新中保持稳定。
# 语法
~accessibilityId
# 示例
~loginButton
~submitForm
~usernameField
最佳实践
尽可能首选无障碍 ID。它们提供:
- 跨平台兼容性(iOS + Android)
- 在 UI 变化中保持稳定
- 更好的测试可维护性
- 改善应用的无障碍性
Android 选择器
UiAutomator
UiAutomator 选择器对 Android 来说强大且快速。
# 通过文本
android=new UiSelector().text("Login")
# 通过部分文本
android=new UiSelector().textContains("Log")
# 通过资源 ID
android=new UiSelector().resourceId("com.example:id/login_button")
# 通过类名
android=new UiSelector().className("android.widget.Button")
# 通过描述(无障碍)
android=new UiSelector().description("Login button")
# 组合条件
android=new UiSelector().className("android.widget.Button").text("Login")
# 可滚动容器
android=new UiScrollable(new UiSelector().scrollable(true)).scrollIntoView(new UiSelector().text("Item"))