Css селектор для элементов с атрибутом стиля - PullRequest
3 голосов
/ 24 февраля 2012

У меня есть элемент со следующими стилями

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

Теперь я хочу выбрать элемент на основе атрибута стиля.

Селектор css ul [style="background-color: transparent;"] там не работает.

Просьба предложить соответствующий селектор для идентификации такого элемента.

Ответы [ 3 ]

5 голосов
/ 24 февраля 2012

Я думаю, вам нужно удалить только первый пробел:

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

Теперь он ищет все теги ul, которые имеют этот стиль;с пробелом между ними он пытается выбрать все элементы dom в (!) теге ul, который имеет этот тип.с селеном тоже.

1 голос
/ 12 марта 2012

Возможное решение состоит в том, чтобы выбрать все элементы с соответствующим именем класса, затем первый из них с правильным атрибутом стиля.Вы не сказали, на каком языке написан тест, но пример на C # будет:

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

0 голосов
/ 24 февраля 2012

Может быть, это http://reference.sitepoint.com/css/elementtypeselector не уверен, если вы имеете в виду что-то вроде оператора if в c?

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

declare stuff here..

 }

или

это соответствует любому типу ввода, который соответствует 'submit'

 input[type="submit"] {
  declarations
}
...