Rumah >Java >javaTutorial >Bagaimanakah Selenium 4 Memudahkan Interaksi dengan Elemen Shadow DOM?

Bagaimanakah Selenium 4 Memudahkan Interaksi dengan Elemen Shadow DOM?

Barbara Streisand
Barbara Streisandasal
2025-01-01 07:59:09311semak imbas

How Can Selenium 4 Simplify Interaction with Shadow DOM Elements?

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!

Kenyataan:
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