Ini mungkin berguna untuk orang lain: Menggunakan html contoh ini
<div class="ParentDiv">
<label for="label">labelName</label>
<input type="button" value="elementToSelect">
</div>
<div class="DontSelect">
<label for="animal">pig</label>
<input type="button" value="elementToSelect">
</div>
Jika misalnya, saya ingin memilih elemen di bagian yang sama (misalnya div) sebagai label, Anda dapat menggunakan ini
//label[contains(., 'labelName')]/parent::*//input[@value='elementToSelect']
Artinya, cari label (bisa apa saja a
, h2
) bernama labelName
. Arahkan ke induk label itu (yaitu div class="ParentDiv"
). Cari di dalam turunan dari induk tersebut untuk menemukan elemen anak dengan nilai elementToSelect
. Dengan ini, itu tidak akan memilih yang kedua elementToSelect
dengan DontSelect
div sebagai induk.
Triknya adalah Anda dapat mengurangi area pencarian untuk elemen dengan menavigasi ke induk terlebih dahulu dan kemudian mencari turunan dari induk tersebut untuk elemen yang Anda butuhkan. Sintaks lain seperti following-sibling::h2
juga dapat digunakan dalam beberapa kasus. Ini berarti elemen saudara berikut h2
. Ini akan bekerja untuk elemen pada level yang sama, memiliki induk yang sama.