Rumah >pembangunan bahagian belakang >Tutorial Python >Selenium: `get_attribute('innerHTML')` lwn. `.text` – Bilakah Saya Perlu Menggunakan Yang Mana?

Selenium: `get_attribute('innerHTML')` lwn. `.text` – Bilakah Saya Perlu Menggunakan Yang Mana?

Barbara Streisand
Barbara Streisandasal
2024-12-30 11:08:14329semak imbas

Selenium:  `get_attribute(

Membandingkan get_attribute("innerHTML") dan .text dalam Selenium

Apabila bekerja dengan rangka kerja Selenium, anda mungkin menghadapi situasi yang anda perlukan untuk mendapatkan semula teks atau innerHTML elemen. Walaupun kedua-dua kaedah boleh memberikan hasil yang serupa, terdapat perbezaan asas yang perlu dipertimbangkan.

get_attribute("innerHTML")

get_attribute("innerHTML") mendapatkan semula innerHTML sesuatu unsur. InnerHTML termasuk kandungan elemen, termasuk elemen anaknya. Kaedah ini mula-mula akan cuba mengembalikan nilai harta dengan nama yang diberikan. Jika harta itu tidak wujud, ia mengembalikan nilai atribut dengan nama yang sama.

# Example
my_text = target_element.get_attribute("innerHTML")

.teks

.teks mendapatkan semula kandungan teks sesuatu unsur. Kaedah ini mengabaikan sebarang teg HTML atau elemen anak dan hanya mengembalikan teks yang kelihatan.

# Example
my_text = target_element.text

Atribut dan Sifat

Untuk memahami perbezaan antara get_attribute("innerHTML" ) dan .text, adalah penting untuk mengambil perhatian perbezaan antara atribut dan sifat dalam HTML dan DOMnya perwakilan.

Atribut ditakrifkan dalam teg HTML dan memberikan maklumat tambahan tentang elemen, seperti id, kelas atau gayanya. Sifat, sebaliknya, adalah dinamik dan mencerminkan keadaan semasa elemen.

Apabila penyemak imbas menghuraikan HTML, ia mencipta objek DOM untuk elemen. Atribut HTML standard ditukar secara automatik kepada sifat DOM. Walau bagaimanapun, atribut bukan standard kekal boleh diakses hanya melalui kaedah getAttribute().

Kes Penggunaan

Pertimbangkan senario berikut:

  • Jika anda perlu mendapatkan semula kandungan HTML yang lengkap, termasuk teg dan elemen bersarang, gunakan get_attribute("innerHTML").
  • Jika anda hanya memerlukan teks yang boleh dilihat, gunakan .text.

Contoh

Andaikan anda mempunyai HTML berikut:

<body>

Menggunakan get_attribute("innerHTML") pada badan elemen akan kembali:

<body>

Manakala, menggunakan .text pada elemen badan akan kembali:

Welcome to Selenium! Written by John Doe

Dalam kes ini, jika matlamat anda adalah untuk mengekstrak struktur HTML yang lengkap, get_attribute ("innerHTML") adalah sesuai. Jika anda hanya memerlukan teks yang dipaparkan, .text sudah memadai.

Atas ialah kandungan terperinci Selenium: `get_attribute('innerHTML')` lwn. `.text` – Bilakah Saya Perlu Menggunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn