You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Android Espresso Kakao测试中如何点击WebView内的SUBMIT按钮

报错根因

你遇到的Compound class names not permitted错误是因为Locator.CLASS_NAME仅支持传入单个类名,你要定位的按钮同时存在btn、dark两个类,直接传入空格分隔的多类名字符串不符合定位语法要求。

可用的定位实现方案

你可以选择以下任意一种更精准的定位方式实现点击:

  • 方案1:使用CSS选择器定位(最推荐)
    直接匹配同时包含两个类的提交按钮,代码示例:

    onScreen<MyScreen> {
        webView {
            withElement(Locator.CSS_SELECTOR, "button.btn.dark[type='submit']") {
                click()
            }
        }
    }
    

    也可以增加父元素限制进一步提升精准度,选择器改为.tac > button.btn.dark即可。

  • 方案2:使用XPath定位
    可以通过类名匹配、文本匹配两种写法实现:
    按类名匹配示例:

    withElement(Locator.XPATH, "//button[contains(@class,'btn') and contains(@class,'dark')]") {
        click()
    }
    

    按按钮内文本匹配示例:

    withElement(Locator.XPATH, "//span[text()='SUBMIT']/parent::button") {
        click()
    }
    
  • 方案3:直接提交表单
    如果不需要模拟点击按钮的交互,也可以直接触发表单提交,代码示例:

    withElement(Locator.CSS_SELECTOR, "form[action^='https://cards-accept.bm.pl']") {
        performScript("submit()")
    }
    

内容的提问来源于stack exchange,提问作者K.Os

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 19:24:04