Saya butuh bantuan untuk menemukan elemen yang tepat dan mengkliknya dengan saudara kandung berikut berdasarkan nomor id tertentu dan kemudian kelas dan (href atau kelas). Berikut adalah kode yang disederhanakan, contoh di bawah ini terjadi berkali-kali hanya dengan id yang berbeda:

<div class="class_1" id="1234567">
   <div class="class_2">
      <div class="class_3">
         <div class="class_3.1">
         <div class="class_3.2">
         <div class="class_3.3">
            <div class="class_3.3.1">
               <div class="class_3.3.1.1">
               <div class="class_3.3.1.2">
               <div class="class_3.3.1.3">
                  <a href="javascript:void(0)" class="event-media-icon live-icon icon-white" data-sport="soccer"></a>
...

Bagaimana saya bisa menemukan elemen dengan id dan kelas misalnya sesuatu seperti ini dan mengkliknya:

driver.find_element(By.XPATH, 'class=class_1 and id="2222222" and class="event-media-icon live-icon icon-white').click()
0
bbfl 12 Mei 2021, 16:29

2 jawaban

Jawaban Terbaik

xpath yang Anda cari akan terlihat seperti berikut:
//div[@class='class_1' and(@id='1234567')]//a[@data-sport='soccer']
Saya kira elemen antara div atas dan tujuan a tidak penting sehingga kami dapat menghilangkannya.
Nilai href terlihat tidak unik juga jadi saya lebih suka menggunakan atribut data-sport yang bisa lebih unik.
Untuk memberikan jawaban yang lebih tepat, saya perlu melihat halaman web itu dengan alat dev.

1
Prophet 12 Mei 2021, 13:46

Xpath ini juga harus berfungsi dengan baik

.//div[@class='class_1' and @id='1234567']//following-sibling::a[@data-sport='soccer']
0
cruisepandey 12 Mei 2021, 18:11