Dalam gambar berikut, XPath penuh dari bit HTML yang disorot kuning adalah

/ HTML / Tubuh / BX-Situs / NG-Komponen / Div / Sp-Sports-UI / DIV / MAIN / Bagian / Main / SP-PATH-ACARA / DIV / DIV / DIV / DIV / DIV / DIV / DIV [2] / div 1 / SP-kupon 1 / sp-multi-pasar / bagian / bagian / operasi sp-dua arah [2] / ul / li 1 / tombol / tombol SP

Saya menggunakan selenium untuk mengikis beberapa data dari situs web. Teks XPath adalah yang saya inginkan tetapi saya juga membutuhkan nama kelas dari bit HTML kuning kuning. Nama kelas terus berubah jadi saya perlu cara untuk mengambil nama kelas bersama dengan teks. Dalam hal ini nama kelas akan menjadi "Bet-BTN". Saya menggunakan driver.find_element_by_xpath untuk mendapatkan teks dari HTML, tetapi tidak dapat menemukan cara untuk mengambil nama kelas. Menggunakan XPath apakah ada cara di Selenium untuk mengambil nama kelas kuning yang disorot.

html code

0
E. hendrix 28 Mei 2021, 23:51

1 menjawab

Jawaban Terbaik

Saya akan menyarankan untuk menentang menggunakan XPath absolut kecuali Anda benar-benar perlu

Coba ini sebagai gantinya:

elem = driver.find_element_by_xpath("//sp-outcome/button")
class_value = elem.get_attribute("class")

Btw yang xpath Mengasumsikan tidak ada jalur elemen //sp-outcome/button lainnya di halaman itu. Jika ada Anda perlu mengembangkannya beberapa, tetapi Anda masih tidak perlu seluruh mutlak xpath. Itu umumnya cukup rapuh.

1
JD2775 28 Mei 2021, 21:03