Dalam Selenium, menggunakan WebDriverWait ialah aspek penting dalam mengendalikan elemen dinamik yang mungkin tidak hadir serta-merta pada halaman web. Walau bagaimanapun, anda telah menghadapi isu di mana WebDriverWait nampaknya diabaikan apabila cuba mendapatkan semula teks daripada elemen.
Untuk membetulkan isu ini, anda boleh menggunakan kaedah ExpectedConditions.ElementIsVisible() daripada SeleniumExtras.WaitHelpers perpustakaan. Kaedah ini secara eksplisit menunggu elemen kelihatan dan tersedia untuk interaksi sebelum cuba berinteraksi dengannya.
Berikut ialah coretan kod diubah suai yang menggabungkan kaedah ElementIsVisible():
string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
Oleh menggunakan pendekatan ini, penantian tidak akan diabaikan, dan kod akan berjaya mendapatkan teks daripada elemen selepas ia menjadi kelihatan.
Atas ialah kandungan terperinci Mengapakah Selenium WebDriverWait saya diabaikan, dan bagaimanakah saya boleh mendapatkan semula teks daripada elemen dinamik dengan pasti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!