Saya punya pertanyaan. Saya memiliki elemen seperti ini:
<a>
elemen dengan id = someGenerated Some: Same: 0: name
<a>
elemen dengan id = someGenerated Some: Sama: 0: nama keluarga
<a>
elemen dengan id = someGenerated Some: Sama: 1: nama
<a>
elemen dengan id = someGenerated Some: Sama: 1: nama belakang
Saya membutuhkan pemilih CSS untuk mendapatkan nama. Masalahnya adalah saya tidak tahu bagaimana mendapatkannya. Saya mencoba a[id*='Some:Same']
- itu mengembalikan semua <a>
elemen. Setelah saya bisa mendapatkan elemen yang id diakhiri dengan nama. Tapi saya tidak suka ide ini. Saya pikir itu bisa dilakukan dengan beberapa pemilih lain.
css
css-selectors
webdriver
TarasLviv
sumber
sumber
<a>
tag yang ingin Anda pilih dan yang tidak Anda inginkan. Akan lebih mudah untuk membantu melihat kode yang sebenarnya.Jawaban:
Coba ini:
a[id*='Some:Same'][id$='name']
Ini akan memberi Anda semua
a
elemen dengan id yang mengandungdan memiliki id berakhiran
sumber
<constant><variable><constant>
nama seperti id .//driver.findElements(By.xpath("//iframe[contains(@id*,'FrameID')]")).size();
dimana FrameID adalah bagian awal. Bagaimanapun,//a[contains(@id,'Some:Same') and contains(@id,'name')]
lakukan trik untukku. Jadi 1 untuk kamu sobat.*
berikutnyaid
?<div id='element_123_wrapper_text'>My sample DIV</div>
Operator ^ - Mencocokkan elemen yang dimulai dengan nilai yang diberikan
div[id^="element_123"] { }
Operator $ - Mencocokkan elemen yang diakhiri dengan nilai yang diberikan
div[id$="wrapper_text"] { }
Operator * - Mencocokkan elemen yang memiliki atribut yang berisi nilai tertentu
div[id*="wrapper_text"] { }
sumber
Satu-satunya pemilih yang saya lihat adalah
a[id$="name"]
(semua tautan dengan id yang diakhiri dengan "nama") tetapi tidak seketat yang seharusnya.sumber