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

使用RSelenium点击自定义mat-icon元素的XPath选择正确性咨询

错误原因

你的原有写法混淆了XPath与CSS选择器的语法规则:XPath的@class属性匹配是直接匹配属性的完整文本,不能使用.分隔多个类名(.是CSS选择器的类名分隔语法)。

正确实现方式

方案1(最推荐,匹配唯一独有属性,不受类名变化影响)

该mat-icon元素有唯一的fontset="icon-arrow-down-tail"属性,直接匹配该属性即可,精准度最高:

down <- remDr$findElement(using="xpath", value="//mat-icon[@fontset='icon-arrow-down-tail']")

方案2(匹配完整class属性值)

如果要使用class属性匹配,将XPath中的.替换为实际的空格即可:

down <- remDr$findElement(using="xpath", value="//mat-icon[@class='mat-icon notranslate icon-arrow-down-tail mat-icon-no-color']")

方案3(多条件模糊匹配class,不受类名顺序、额外空格/类名影响)

如果页面可能动态调整类名顺序或新增类,用多条件匹配更稳妥:

down <- remDr$findElement(using="xpath", value="//mat-icon[contains(@class, 'mat-icon') and contains(@class, 'icon-arrow-down-tail')]")

额外排查建议

如果调整选择器后仍无法找到元素,可增加显式等待避免元素延迟加载导致的匹配失败:

# 最长等待10秒直到目标元素加载完成
down <- remDr$waitFor(using = "xpath", value = "//mat-icon[@fontset='icon-arrow-down-tail']", timeout = 10000)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:48:00