Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengambil Teks daripada Elemen HTML yang Berubah Secara Dinamik dalam Selenium WebDriver?

Bagaimana untuk Mengambil Teks daripada Elemen HTML yang Berubah Secara Dinamik dalam Selenium WebDriver?

Linda Hamilton
Lepaskan: 2024-11-03 04:36:03
asal
1037 orang telah melayarinya

How to Retrieve Text from Dynamically Changing HTML Elements in Selenium WebDriver?

Mengakses Elemen Teks dengan Selenium WebDriver dalam Python

Dalam automasi web menggunakan Selenium WebDriver, mendapatkan semula kandungan teks daripada elemen HTML adalah penting. Walau bagaimanapun, isu boleh timbul apabila ID elemen berubah secara dinamik apabila halaman dimuat semula, seperti dalam kes yang dibentangkan.

Kod Asal

Kod asal yang disediakan:

text = driver.find_element_by_class_name("current-stage").getText("my text")
Salin selepas log masuk

cuba mencari elemen mengikut nama kelas "peringkat semasa" dan mengekstrak teksnya, yang dijangka menjadi "teks saya."

Struktur HTML

Struktur HTML yang disediakan menunjukkan elemen teks dengan nama kelas "teks semasa" dan ID dinamik, seperti berikut:

<span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span>
Salin selepas log masuk

Isunya

Isu dengan kod asal tidak berkaitan dengan XPath sebaliknya penyalahgunaan kaedah getText. Menghantar hujah untuk mendapatkanText cuba menetapkan teks elemen, bukan mendapatkannya.

Pendekatan yang Betul

Pendekatan yang betul untuk mengekstrak teks daripada elemen ialah untuk menggunakan getText tanpa sebarang hujah, seperti berikut:

text = driver.find_element_by_class_name("current-stage").getText()
Salin selepas log masuk

Kod ini akan mendapatkan semula kandungan teks elemen dan menyimpannya dalam pembolehubah teks.

Mengesahkan Keputusan

Daripada menghantar teks yang dijangkakan kepada kaedah getText, anda boleh mengesahkan teks yang diambil selepas itu menggunakan kaedah assertEqual, seperti berikut:

expected_text = "my text"
actual_text = driver.find_element_by_class_name("current-stage").getText()
self.assertEqual(expected_text, actual_text)
Salin selepas log masuk

Pendekatan ini memastikan teks yang diambil sepadan dengan nilai yang dijangkakan.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Teks daripada Elemen HTML yang Berubah Secara Dinamik dalam Selenium WebDriver?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan