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!