2012-02-24 153 views
3

元素我有一个元素具有以下样式CSS选择风格属性

<ul class="textboxlist-bits" style="background-color: transparent;"> 

现在我要选择基于样式属性的元素。

css选择器ul [style="background-color: transparent;"]在那里不起作用。

请建议一个合适的选择器来识别这样的元素。

回答

1

一个可能的解决方案是选择所有具有匹配类名称的元素,然后选择具有正确样式属性的元素中的第一个元素。你还没说测试是用哪种语言,但在C#中的例子是:

IWebElement element = driver.FindElements(By.CssSelector("ul.textboxlist-bits")).First(e => e.GetAttribute("style").Contains("background-color: transparent;"));

-1

也许这个http://reference.sitepoint.com/css/elementtypeselector 不知道你的意思是说像c语句中的if语句吗?

[ { attribute | attribute { = | |= | ~= } attribute value } ] { 

declare stuff here.. 

} 

此匹配匹配任何类型的输入 '提交'

input[type="submit"] { 
    declarations 
} 
+1

我需要一个CSS定位找到与给定样式属性的匹配UI元素。这是在硒中使用,我需要点击这种特定风格的元素 – 2012-02-24 06:24:56

+1

看到我的编辑,希望它有助于 – user1191343 2012-02-24 06:31:59

+1

感谢输入,但这个选择器不适用于硒。我尝试了这样的'ul.textboxlist-bits [style] {background-color:transparent;}' – 2012-02-24 06:37:33

5

我想你只需要删除第一个空间:

ul[style="background-color: transparent;"] 

现在是搜索所有ul - 有这种风格的标签;它之间的空间试图选择(!)一个ul -tag中的所有DOM元素,这些元素具有这种风格。

这里有一个example与querySelector为JavaScript,它也应该与硒。