Rumah >hujung hadapan web >tutorial css >Bagaimana untuk mencari Elemen Div dengan Pelbagai Nama Kelas dalam Selenium?
Cara Mengenalpasti Elemen Div dengan Berbilang Nama Kelas
Apabila berinteraksi dengan elemen web, elemen penyasaran menggunakan nama kelasnya boleh menjadi penting. Walau bagaimanapun, anotasi @FindBy Selenium hanya membenarkan satu nama kelas dalam parameter className. Ini boleh mengehadkan, kerana elemen selalunya mempunyai berbilang nama kelas.
Pendekatan Alternatif
Untuk mengatasi had ini, pertimbangkan alternatif berikut:
1. Gunakan Parameter xpath
XPath membolehkan anda menggunakan ungkapan kompleks untuk mengenal pasti elemen. Untuk padanan kelas yang tepat, anda boleh menggunakan sintaks berikut:
@FindBy(xpath = "//div[@class='value test']") @CacheLookup private WebElement test;
2. Gunakan contains(@class) dalam XPath
Jika elemen boleh mempunyai sebarang kombinasi nama kelas yang ditentukan, anda boleh menggunakan ungkapan contains(@class):
@FindBy(xpath = "//div[contains(@class, 'value') and contains(@class, 'test')]") @CacheLookup private WebElement test;
3. Gunakan Pemilih CSS
Pemilih CSS menawarkan cara yang fleksibel untuk menyasarkan elemen berdasarkan berbilang nama kelas. Sintaks berikut membolehkan anda memadankan elemen dengan mana-mana gabungan nama kelas yang ditentukan:
@FindBy(css = "div[class*='value test']") @CacheLookup private WebElement test;
Memahami Padanan Kelas XPath
Adalah penting untuk ambil perhatian bahawa padanan kelas XPath peraturan berbeza sedikit daripada pemilih CSS. Jika anda memerlukan padanan tepat, gunakan [@class='nilai ujian']. Untuk memadankan elemen dengan sebarang susunan atau gabungan nama kelas, gunakan [mengandungi(@kelas, 'nilai') dan mengandungi(@kelas, 'ujian')].
Atas ialah kandungan terperinci Bagaimana untuk mencari Elemen Div dengan Pelbagai Nama Kelas dalam Selenium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!