为什么 getElementValueOfCssProperty 返回数字而不是 Selenium 中的正确值?

问题描述 投票:0回答:1

我正在尝试获取元素的背景颜色,并使用

getElementValueOfCssProperty
查看其是否为粗体。对于颜色,它返回
"rgba(255, 222, 173, 1)"
,我可以将其转换为
hex
,这与我在
Chrome
中看到的内容对齐。但为什么它不只返回
hex
代码呢?

我的 R 代码:

element$getElementValueOfCssProperty("background-color")

enter image description here

当我尝试检查某个元素是否为 bold 时,它返回值

700
。我应该如何解释它以及为什么会这样,而不仅仅是返回
bold

我的代码:

element$getElementValueOfCssProperty("font-weight")

enter image description here

我正在尝试的网站是 Wikipedia Olympics

r selenium-webdriver rselenium
1个回答
1
投票

getElementValueOfCssProperty
返回的值通常是最精确的形式。 RGBA 格式是 CSS 中表示颜色的标准化方式,其中包括 Alpha 通道。十六进制表示法并不总是显示或支持 Alpha 通道。

当检查元素的字体是否为粗体时,返回的值为 700。这是因为 CSS 中的字体粗细是使用数值指定的:

  • 正常:400
  • 粗体:700

所以 700 对应于粗体字重。

如果你真的想要

"bold"
你可以像这样转换返回值:

if (font_weight >= 700) {
  fontWeight= "bold"
}
© www.soinside.com 2019 - 2024. All rights reserved.