Rumah >Java >javaTutorial >Bagaimana untuk Berinteraksi dengan Elemen Shadow DOM 'Kosongkan Data Penyemakan Imbas' Chrome Menggunakan Selenium?
Cara Mengesan Elemen dalam Shadow DOM (#shadow-root) Semasa Mengosongkan Data Semak Imbas Penyemak Imbas Chrome Menggunakan cssSelector
Semasa berinteraksi dengan Shadow Elemen DOM dalam pop timbul "Clear Browsing Data" Chrome, adalah penting untuk mencari elemen #shadow-root pertama. Banyak percubaan menggunakan Selenium telah mengalami ralat.
Penyelesaian:
Untuk mengatasi ralat ini, ikuti kod JavaScript di bawah untuk mencari #shadow-root elemen:
return document.querySelector('settings-ui').shadowRoot.querySelector('settings-main').shadowRoot.querySelector('settings-basic-page').shadowRoot.querySelector('settings-section > settings-privacy-page').shadowRoot.querySelector('settings-clear-browsing-data-dialog').shadowRoot.querySelector('#clearBrowsingDataDialog').querySelector('#clearBrowsingDataConfirm')
Penjelasan:
Contoh Skrip:
driver.get("chrome://settings/clearBrowserData"); driver.manage().window().maximize(); JavascriptExecutor js = (JavascriptExecutor) driver; WebElement clearData = (WebElement) js.executeScript("return document.querySelector('settings-ui').shadowRoot.querySelector('settings-main').shadowRoot.querySelector('settings-basic-page').shadowRoot.querySelector('settings-section > settings-privacy-page').shadowRoot.querySelector('settings-clear-browsing-data-dialog').shadowRoot.querySelector('#clearBrowsingDataDialog').querySelector('#clearBrowsingDataConfirm')"); // perform the desired action on the clearData element clearData.click();
Nota:
Tangkapan skrin yang disediakan dalam teks sumber jawapan tidak disertakan dalam respons ini kerana pengehadan penurunan nilai.
Atas ialah kandungan terperinci Bagaimana untuk Berinteraksi dengan Elemen Shadow DOM 'Kosongkan Data Penyemakan Imbas' Chrome Menggunakan Selenium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!