C# 如何使用SeleniumWebDriver C获取元素的style属性值#

C# 如何使用SeleniumWebDriver C获取元素的style属性值#,c#,selenium,selenium-webdriver,xpath,css-selectors,C#,Selenium,Selenium Webdriver,Xpath,Css Selectors,我想从元素中获取样式值并将其分配给字符串变量。 我尝试使用以下代码,但当我尝试返回值“background:#ADFF2F”时,它返回值“rgb(173255,47)”: 这是网页中的src代码,我想从中获取style的值: <h1 id="firstHeading" class="firstHeading" lang="en"> ::before <th-highlight-span style="background:#ADFF2F" data- rwstate="

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

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

<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转换为十六进制格式

 String hex = String.format("#%02x%02x%02x", r, g, b);
这将返回小字母表中的十六进制,如果需要大写,则只需根据您共享的HTML将
x

替换为
x
,以检索样式属性,即文本背景:#ADFF2F您可以使用以下解决方案:

actualHighlightColour = _driver.FindElement(By.CssSelector("h1.firstHeading#firstHeading>th-highlight-span")).GetAttribute("style");
更新 由于上面的表达式仍然返回
background:rgb(173255,47);
,因此将输出获取为rgb(173255,47)您可以使用该方法,也可以使用以下解决方案:

actualHighlightColour = _driver.FindElement(By.CssSelector("h1.firstHeading#firstHeading>th-highlight-span")).GetCssValue("background");
您可以在中找到详细的讨论


那么,你有任何错误消息吗?@RatmirAsanov没有,我没有收到任何错误消息,我得到rgb(173255,47)返回并分配给ActualHighLightColor变量,但我想返回背景:#ADFF2F;尝试
highlightedText.GetCssValue(“背景”)
@AmanB,当我使用它时,它返回以下“rgb(173255,47)”无重复滚动0%0%/自动填充框边框框“我尝试过但返回”背景:rgb(173255,47);“而不是背景:#ADFF2F@Tester_Giant1你能试试更新后的答案并告诉我状态吗?
actualHighlightColour = _driver.FindElement(By.CssSelector("h1.firstHeading#firstHeading>th-highlight-span")).GetAttribute("style");
actualHighlightColour = _driver.FindElement(By.CssSelector("h1.firstHeading#firstHeading>th-highlight-span")).GetCssValue("background");