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

VB.net 2019搭配Selenium无法获取元素字体颜色的解决求助

正确获取元素字体颜色的实现方案
  • 你当前返回错误颜色值的核心原因是:FindElements 方法返回的是匹配类名的元素集合,不是单个元素对象,直接读取集合属性无法拿到正确的样式值。
  • 要获取渲染后的实际字体颜色,需要调用Selenium的GetCssValue("color")方法,该方法会返回元素最终生效的字体颜色rgba/rgb字符串。

参考实现代码

Dim needExecute As Boolean = False
Try
    ' 获取所有匹配redtext类的元素集合
    Dim redFontElements = td.FindElements(By.ClassName("redtext"))
    If redFontElements.Count > 0 Then
        ' 取第一个匹配元素,获取渲染后的字体颜色
        Dim textColor = redFontElements(0).GetCssValue("color")
        ' 匹配红色的标准色值,vbRed对应的RGB为(255,0,0)
        If textColor.ToLower() = "rgba(255, 0, 0, 1)" OrElse textColor.ToLower() = "rgb(255, 0, 0)" Then
            needExecute = True
        End If
    End If
Catch ex As Exception
    ' 按需添加异常处理逻辑
End Try

If needExecute Then
    ' 此处写字体为红色时要执行的操作
End If

如果需要更灵活的颜色校验,可以拆分rgba字符串提取R、G、B三个通道的数值,和vbRed对应的(255,0,0)做数值对比即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:06:01