我有一个具有以下样式的元素
<ul class="textboxlist-bits" style="background-color: transparent;">
现在我想根据style属性选择元素。
css选择器ul [style="background-color: transparent;"]
无效。
请建议一个合适的选择器来识别这样的元素。
答案 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
}