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

Selenium Java如何匹配两个span拼接文本并点击对应元素

问题原因

你当前的判断逻辑存在错误:你遍历的是单个span元素,每个span分别只存储片名和年份,单个span的文本自然不可能等于两个span拼接后的完整字符串Frat Brothers (2013),因此if分支永远不会触发。
另外你原代码的CSS选择器存在语法错误,末尾缺少闭合的方括号]。

解决方法

提供两种常用实现方案:

方案1:拼接两个span的文本后校验

String targetTitle = "Frat Brothers (2013)";
List<WebElement> spanList = driver.findElements(By.cssSelector("span[class*='name-content-row__']"));
// 拼接两个span的文本,注意中间的空格要和目标格式对齐
String actualFullTitle = spanList.get(0).getText().trim() + " " + spanList.get(1).getText().trim();
if (actualFullTitle.equals(targetTitle)) {
    // 匹配成功后点击父级a标签,也可根据需求点击对应元素
    spanList.get(0).findElement(By.xpath("./ancestor::a")).click();
}

方案2:直接获取父级a标签的完整文本校验

父元素的默认文本会自动拼接所有子元素的文本内容,不需要手动拼接,实现更简单:

String targetTitle = "Frat Brothers (2013)";
WebElement linkElement = driver.findElement(By.cssSelector("a[href='/frat-brothers']"));
if (linkElement.getText().trim().equals(targetTitle)) {
    linkElement.click();
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:57:01