具有样式属性的元素的Css选择器

时间:2012-02-24 06:03:58

标签: css-selectors selenium-webdriver

我有一个具有以下样式的元素

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

现在我想根据style属性选择元素。

css选择器ul [style="background-color: transparent;"]无效。

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

3 个答案:

答案 0 :(得分:5)

我认为你只需删除第一个空格:

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

现在它正在搜索具有此样式的所有ul - 标签;它之间的空间试图选择(!)一个ul - 标签中的所有dom元素,这些元素都有这个风格。

这里有example和javascript的querySelector,它也适用于selenium。

答案 1 :(得分:1)

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

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

答案 2 :(得分:-1)

也许这http://reference.sitepoint.com/css/elementtypeselector 不确定你的意思是否类似c中的if语句?

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

declare stuff here..

 }

匹配任何匹配'submit'

的类型输入
 input[type="submit"] {
  declarations
}