Selector de CSS (la identificación contiene parte del texto)

Tengo una pregunta. Tengo elementos algo como esto:

<a> elemento con id = someGenerated Some:Mismo:0:nombre

<a> elemento con id = someGenerated Some:Mismo:0:apellido

<a> elemento con id = someGenerated Some:Mismo:1:nombre

<a> elemento con id = someGenerated Some:Mismo:1:apellido

Necesito selector de CSS para obtener nombres. El problema es que no se como conseguirlo. Lo intenté a[id*='Some:Same'] - devolvió todo <a> elementos. Después puedo obtener elementos cuya identificación termina con el nombre. Pero no me gusta esta idea. Creo que se puede hacer con algún otro selector.

preguntado el 28 de agosto de 12 a las 09:08

¿Podría agregar algunos ejemplos reales de <a> etiquetas que desea seleccionar y las que no desea. Será más fácil ayudar a ver el código real. -

No puedo agregar un ejemplo real, debido a la política de confidencialidad :( -

Pero puedo explicarlo de otra manera. Los atributos de identificación contienen lo siguiente: algunos caracteres generados + algunos caracteres estáticos + :elementIndexInTable: + nombre de columna en la tabla -

¿Y cuáles son los criterios para los que quieres? -

3 Respuestas

Prueba esto:

a[id*='Some:Same'][id$='name']

Esto te traerá a todos a elementos con id que contiene

Algunos iguales

y tener la identificación que termina en

nombre

Respondido 25 Feb 15, 14:02

Bueno, id* no funcionó para mí y decía que no se puede evaluar como un elemento web. Lo usé para encontrar iframe que tiene una identificación como <constant><variable><constant> nombre. //driver.findElements(By.xpath("//iframe[contains(@id*,'FrameID')]")).size(); donde FrameID está comenzando la parte. De todos modos, //a[contains(@id,'Some:Same') and contains(@id,'name')] hizo el truco para mí. Así que +1 para ti compañero. - anujin

Debe eliminar el selector XPath de esta respuesta, no está agregando nada y solo está enturbiando las aguas: Liam

@CosminO ¿Necesitas el * al lado de id? - coqueteando

@cokedude el operador *= significa que debe contener al menos el valor después del operador. Funciona en conjunto con la segunda condición de que debe terminar con otra cosa usando el operador $= Ver esto para una explicación detallada w3schools.com/css/css_attribute_selectors.asp Respuesta corta. El * no está al lado de id, está al lado de = y forma un operador con un significado especial: CosminO

<div id='element_123_wrapper_text'>My sample DIV</div>

El Operador ^ - Hacer coincidir elementos que comienzan con un valor dado

div[id^="element_123"] {

}

El Operador $ - Coincide con elementos que terminan con el valor dado

div[id$="wrapper_text"] {

}

El Operador * - Coincide con elementos que tienen un atributo que contiene un valor dado

div[id*="123_wrapper"] {

}

Respondido el 04 de diciembre de 21 a las 14:12

El único selector que veo es a[id$="name"] (todos los enlaces con id que terminan en "nombre") pero no es tan restrictivo como debería.

Respondido 28 ago 12, 10:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.