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

时间:2018-05-24 09:01:04

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

我想从元素中获取样式值并将其指定给字符串var。 我尝试使用下面的代码,但当我尝试返回值'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);

2 个答案:

答案 0 :(得分:1)

将RGB转换为十六进制格式

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

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

答案 1 :(得分:0)

根据您共享的 HTML 来检索样式属性,即文本背景:#ADFF2F ,您可以使用以下解决方案:

actualHighlightColour = _driver.FindElement(By.CssSelector("h1.firstHeading#firstHeading>th-highlight-span")).GetAttribute("style");