Rumah >Java >javaTutorial >Bagaimanakah Selenium 4 Memudahkan Interaksi dengan Elemen Shadow DOM?
Mengautomasikan Elemen Shadow DOM dalam Selenium Java
Walaupun terdapat banyak halaman web yang menggunakan elemen DOM akar bayang berbilang peringkat, berinteraksi dengannya melalui Selenium findElement telah terbukti mencabar. Kaedah tradisional seperti Deep CSS dan JS Executor telah menjadi tidak berkesan atau menyusahkan.
Selenium 4 Memperkenalkan Kaedah getShadowRoot()
Satu kejayaan ketara datang dengan Selenium versi 4, memperkenalkan Kaedah WebElement.getShadowRoot(). Kaedah ini menyediakan cara yang lancar untuk menavigasi ke elemen DOM bayangan. Berikut ialah contoh kod:
driver.findElement(By.id("parentId")).getShadowRoot().findElement(By.cssSelector("label")).findElement(By.tagName("input"));
Coretan ini menavigasi melalui elemen induk dengan ID "parentId", memasuki akar bayangnya, mencari elemen label dalam akar bayang dan akhirnya memilih elemen input dalam itu label.
Adalah penting untuk ambil perhatian bahawa apabila berada di dalam akar bayang, pilihan navigasi menjadi terhad. Untuk Chrome, hanya By.cssSelector() dan By.className() disokong, manakala By.id() dan By.tagName() boleh menghasilkan org.openqa.selenium.InvalidArgumentException.
Atas ialah kandungan terperinci Bagaimanakah Selenium 4 Memudahkan Interaksi dengan Elemen Shadow DOM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!