У меня есть вопрос. У меня есть примерно такие элементы:
<a>
элемент с id = someGenerated Some: Same: 0: name
<a>
элемент с id = someGenerated Некоторые: То же: 0: фамилия
<a>
элемент с id = someGenerated Some: Same: 1: name
<a>
элемент с id = someGenerated Some: Same: 1: фамилия
Мне нужен селектор CSS для получения имен. Проблема в том, что я не знаю, как это получить. Я попробовал a[id*='Some:Same']
- вернул все <a>
элементы. После того, как я могу получить элементы, идентификатор которых заканчивается именем. Но мне эта идея не нравится. Я думаю, что это можно сделать с каким-нибудь другим селектором.
css
css-selectors
webdriver
ТарасЛьвов
источник
источник
<a>
тегов, которые вы хотите выбрать, и тех, которые вам не нужны. Так будет легче увидеть реальный код.Ответы:
Попробуй это:
a[id*='Some:Same'][id$='name']
Это даст вам все
a
элементы с идентификатором, содержащими иметь идентификатор, заканчивающийся на
источник
<constant><variable><constant>
имени.//driver.findElements(By.xpath("//iframe[contains(@id*,'FrameID')]")).size();
где FrameID - начало. В любом случае,//a[contains(@id,'Some:Same') and contains(@id,'name')]
помогло мне. Так что +1 тебе, приятель.*
следующееid
?<div id='element_123_wrapper_text'>My sample DIV</div>
Оператор ^ - сопоставление элементов, начинающихся с заданного значения
div[id^="element_123"] { }
Оператор $ - сопоставляет элементы, заканчивающиеся заданным значением
div[id$="wrapper_text"] { }
Оператор * - сопоставление элементов, имеющих атрибут, содержащий заданное значение.
div[id*="wrapper_text"] { }
источник
Единственный селектор, который я вижу, это
a[id$="name"]
(все ссылки с идентификатором, заканчивающимся «именем»), но он не так строг, как должен.источник