c# - 如何使用 selenium webdriver C# 获取元素的样式属性值

标签 c# selenium selenium-webdriver xpath css-selectors

我想从元素中获取样式值并将其分配给字符串变量。 我尝试使用以下代码,但当我尝试返回值“background:#ADFF2F”'时,它返回值“rgb(173, 255, 47)”:

IWebElement highlightedText = _driver.FindElement(By.Id("firstHeading")).FindElement(By.CssSelector("th-highlight-span"));
actualHighlightColour = highlightedText.GetAttribute("style");

这是我想从中获取样式值的网页的 src 代码:

<h1 id="firstHeading" class="firstHeading" lang="en">
 ::before
 <th-highlight-span style="background:#ADFF2F" data- 
 rwstate="ss">California Proposition 218 (1996)</th-highlight-span>

我尝试使用的代码返回“rgb(173, 255, 47)”,可以在此处找到,但我想返回背景:#ADFF2F:

element.style {
background: #ADFF2F;
background-image: initial;
background-position-x: initial;
background-position-y: initial;
background-size: initial;
background-repeat-x: initial;
background-repeat-y: initial;
background-attachment: initial;
background-origin: initial;
background-clip: initial;
background-color: rgb(173, 255, 47);

最佳答案

将RGB转为十六进制

 String hex = String.format("#%02x%02x%02x", r, g, b);

这将以小写字母返回十六进制,如果想要大写字母,则只需将 x 替换为 X

关于c# - 如何使用 selenium webdriver C# 获取元素的样式属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50505172/

相关文章:

java - 如何验证 selenium webdriver 中的文本颜色?

c# - 在 MonoTouch 中使用 Bonjour NSNetService 来自 NSData 的 IP 地址?

java - 如何使用 WebDriver 在 JavaScript 提示消息中写入?

jquery - 使用 css 选择器检查第一个元素

java - GWT id 元素在 selenium 中每次都在变化

javascript - javascript中selenium-webdriver在不同环境下测试的策略

c# - 如何在 C# 中访问 dll 构建日期时间

c# - Windows 10 物联网语音合成语言更改

c# - 如何在 Xamarin.Android 中的小数点分隔符后显示 2 个或 3 个数字?

python : no module named selenium