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

为什么Selenium WebDriver指定选择器后无法找到元素且报无效选择器错误

报错的根本原因是混用了XPath语法和CSS选择器定位方法。By.cssSelector()方法仅支持传入标准CSS选择器语法,你传入的//*[contains(@class,'v-label v-label--active theme--light primary--text') and contains(text(),'Narystė')]是典型的XPath写法,不符合CSS选择器规范,因此触发非法选择器报错。

修复方案

方案1:改用XPath定位(推荐,无需调整原有匹配逻辑)

直接将By.cssSelector替换为By.xpath即可,修改后的代码如下:

private static final By naryste = By.xpath("//*[contains(@class,'v-label v-label--active theme--light primary--text') and contains(text(),'Narystė')]");
    @Step("Pasirenkame juridinio asmens organizaciją iš reikšmių sąrašo")
    public createOrganization selectMembership() {
        button.click(naryste);
        return this;
    }

方案2:改为标准CSS选择器写法

CSS选择器不支持原生文本内容匹配规则,仅能匹配类名等属性,修改后的代码如下:

// 仅匹配指定类名,若需要同时匹配文本内容,建议优先使用方案1
private static final By naryste = By.cssSelector(".v-label.v-label--active.theme--light.primary--text");

内容的提问来源于stack exchange,提问作者Jetz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:45:07