CSS seçici (kimlik, metnin bir bölümünü içerir)


92

Bir sorum var. Bunun gibi öğelerim var:

<a> id = someGenerated Some: Aynı: 0: ad ile öğe

<a> id = bazı Oluşturulan Bazı: Aynı: 0: soyadı içeren öğe

<a> id = someGenerated Some: Aynı: 1: ad ile öğe

<a> id = bazı Oluşturulan Bazı: Aynı: 1: soyadı içeren öğe

İsimleri almak için CSS seçiciye ihtiyacım var. Sorun şu ki, onu nasıl elde edeceğimi bilmiyorum. Denedim a[id*='Some:Same']- tüm <a>unsurları geri getirdi . İd adıyla biten öğeleri aldıktan sonra. Ama bu fikir hoşuma gitmedi. Başka bir seçici ile yapılabileceğini düşünüyorum.


Lütfen <a>seçmek istediğiniz ve istemediğiniz etiketlerin gerçek örneklerini ekleyebilir misiniz? Gerçek kodu görmeye yardımcı olmak daha kolay olacaktır.
andyb

Gizli politika nedeniyle gerçek bir örnek ekleyemiyorum :(
TarasLviv

Ama bunu başka şekilde açıklayabilirim. Id öznitelikleri şunu içerir: bazı oluşturulan karakterler + bazı statik karakterler +: elementIndexInTable: + tablodaki sütun adı
TarasLviv

Ve istedikleriniz için kriterler nelerdir?
Tarken

Yanıtlar:


144

Bunu dene:

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

Bu size aid içeren tüm öğeleri alacaktır

Bazı Aynı

ve ile biten kimliği var

isim


Eh, id * benim için çalışmadı ve bir web öğesi olarak değerlendirilemez dedi. <constant><variable><constant>Adı gibi kimliği olan iframe'i bulmak için kullandım . //driver.findElements(By.xpath("//iframe[contains(@id*,'FrameID')]")).size();FrameID bölümün başlangıcıdır. Neyse, //a[contains(@id,'Some:Same') and contains(@id,'name')]hile yaptı benim için. Yani + 1 sana dostum.
anujin

2
XPath seçiciyi bu cevaptan kaldırmalısınız, hiçbir şey eklemiyor ve sadece suları bulandırıyor
Liam

1
@CosminO Do İhtiyacınız *yanında id?
cokedude

@cokedude the * = operatörü, en azından operatörden sonraki değeri içermesi gerektiği anlamına gelir. $ = Operatörünü kullanarak başka bir şeyle bitmesi gereken ikinci koşulla birlikte çalışır. Ayrıntılı bir açıklama için w3schools.com/css/css_attribute_selectors.asp Kısa yanıt için buna bakın. *
İd'nin

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

Operatör ^ - Verilen değerle başlayan öğeleri eşleştirir

div[id^="element_123"] {

}

Operatör $ - Verilen değerle biten öğeleri eşleştir

div[id$="wrapper_text"] {

}

Operatör * - Belirli bir değeri içeren bir özniteliğe sahip öğeleri eşleştirir

div[id*="wrapper_text"] {

}

8

Gördüğüm tek seçici a[id$="name"]("ad" ile biten kimliği olan tüm bağlantılar) ama olması gerektiği kadar kısıtlayıcı değil.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.