Rumah >pembangunan bahagian belakang >Tutorial Python >Selenium: `teks` lwn. `get_attribute('innerHTML') – Kaedah Yang Harus Saya Gunakan?
Perbezaan Antara Teks dan innerHTML Menggunakan Selenium
Dalam Selenium, terdapat dua kaedah yang boleh anda gunakan untuk mendapatkan semula kandungan daripada elemen: .text dan .get_attribute("innerHTML"). Walaupun ia mungkin kelihatan serupa, terdapat perbezaan yang berbeza antara kedua-duanya.
get_attribute("innerHTML")
.get_attribute("innerHTML") mendapatkan semula HTML dalam elemen, termasuk semua teg dan kandungan teks di dalamnya. Kaedah ini cuba mendapatkan semula nilai sifat dengan nama yang ditentukan, dan jika itu tidak dijumpai, ia mengembalikan nilai atribut dengan nama yang sama. Jika harta mahupun atribut tidak wujud, Tiada dikembalikan. Nilai kebenaran (sama dengan benar atau salah) dikembalikan sebagai boolean, manakala semua nilai bukan Tiada yang lain dikembalikan sebagai rentetan.
Teks
.text, pada Sebaliknya, hanya mengambil teks unsur yang kelihatan. Ia mengabaikan sebarang teg HTML atau kandungan bukan teks yang lain.
Atribut vs Sifat
Untuk lebih memahami perbezaannya, adalah penting untuk mengetahui perbezaan antara atribut dan sifat dalam HTML. Apabila penyemak imbas menghuraikan HTML, ia mencipta objek DOM daripada teg. Atribut HTML standard ditukar secara automatik kepada sifat objek DOM ini. Walau bagaimanapun, atribut bukan standard kekal boleh diakses hanya melalui kaedah .get_attribute().
Bila Menggunakan innerHTML
Gunakan .get_attribute("innerHTML") apabila anda perlukan untuk menangkap keseluruhan kandungan HTML dalam elemen, termasuk teg dan sebarang skrip atau CSS terbenam. Ini berguna untuk mengekstrak kandungan yang kompleks.
Bila Menggunakan Teks
Gunakan .text apabila anda hanya berminat dengan kandungan teks yang boleh dilihat bagi sesuatu elemen, tidak termasuk sebarang tag HTML. Ini biasanya digunakan untuk mendapatkan semula teks yang dimasukkan pengguna atau memaparkannya pada skrin.
Atas ialah kandungan terperinci Selenium: `teks` lwn. `get_attribute('innerHTML') – Kaedah Yang Harus Saya Gunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!