Eu tenho uma pergunta. Tenho elementos parecidos com este:
<a>
elemento com id = someGenerated Some: Same: 0: name
<a>
elemento com id = someGenerated Some: Same: 0: sobrenome
<a>
elemento com id = someGenerated Some: Same: 1: name
<a>
elemento com id = someGenerated Some: Same: 1: sobrenome
Preciso do seletor CSS para obter nomes. O problema é que não sei como fazer. Eu tentei a[id*='Some:Same']
- ele retornou todos os <a>
elementos. Depois posso obter elementos cujo id termina com nome. Mas não gosto dessa ideia. Acho que pode ser feito com algum outro seletor.
css
css-selectors
webdriver
TarasLviv
fonte
fonte
<a>
tags que deseja selecionar e aqueles que não deseja. Será mais fácil ajudar a ver o código real.Respostas:
Experimente isto:
a[id*='Some:Same'][id$='name']
Isso lhe dará todos os
a
elementos com id contendoe ter o id terminando em
fonte
<constant><variable><constant>
nome.//driver.findElements(By.xpath("//iframe[contains(@id*,'FrameID')]")).size();
onde FrameID está começando parte. De qualquer forma,//a[contains(@id,'Some:Same') and contains(@id,'name')]
fez o truque para mim. Então, +1 para você, companheiro.*
próximoid
?<div id='element_123_wrapper_text'>My sample DIV</div>
O operador ^ - Corresponde aos elementos que começam com um determinado valor
div[id^="element_123"] { }
O Operador $ - Corresponde aos elementos que terminam com um determinado valor
div[id$="wrapper_text"] { }
O operador * - corresponde a elementos que têm um atributo contendo um determinado valor
div[id*="wrapper_text"] { }
fonte
O único seletor que vejo é
a[id$="name"]
(todos os links com id terminando por "nome"), mas não é tão restritivo quanto deveria.fonte