Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa kaedah Selenium getText() saya membuang ralat apabila menggunakan pencari nama kelas?
Masalah:
Apabila cuba mendapatkan teks daripada elemen web menggunakan kaedah getText() Selenium WebDriver, anda menerima ralat semasa menggunakan pencari nama kelas. Ralat ini berpunca daripada ID dinamik yang berubah apabila halaman web dimuat semula, menjadikan pengesan By.CLASS_NAME tidak boleh dipercayai.
Culitan HTML:
<code class="html"><span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span></code>
Python Kod:
<code class="python">text = driver.find_element_by_class_name("current-stage").getText("my text")</code>
Penyelesaian:
Untuk menyelesaikan isu ini, mudahkan kod anda dengan mengalih keluar getText("teks saya") hujah:
<code class="python">text = driver.find_element_by_class_name("current-stage").text</code>
Penjelasan:
Kaedah getText() mengembalikan kandungan teks elemen web yang ditentukan. Dalam kes ini, pencari nama kelas mengenal pasti elemen yang betul, dan atribut teks mendapatkan semula kandungan teksnya. Percubaan untuk menentukan teks yang dijangkakan sebagai argumen kedua untuk getText() adalah tidak perlu dan boleh menyebabkan kekeliruan.
Atas ialah kandungan terperinci Mengapa kaedah Selenium getText() saya membuang ralat apabila menggunakan pencari nama kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!