Heim >Java >javaLernprogramm >Wie interagiere ich mit Chromes „Clear Browsing Data'-Shadow-DOM-Elementen mithilfe von Selenium?
So finden Sie Elemente im Shadow-DOM (#shadow-root) beim Löschen der Browserdaten des Chrome-Browsers mithilfe von cssSelector
Bei der Interaktion mit Shadow Wenn Sie DOM-Elemente im Chrome-Popup „Browserdaten löschen“ verwenden, müssen Sie unbedingt zuerst das Element #shadow-root finden. Bei zahlreichen Versuchen mit Selenium sind Fehler aufgetreten.
Lösung:
Um diese Fehler zu beheben, folgen Sie dem folgenden JavaScript-Code, um das #shadow-root-Element zu finden:
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')
Erklärung:
Beispielskript:
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();
Hinweis:
Der im Quelltext der Antwort bereitgestellte Screenshot ist aufgrund von Markdown-Einschränkungen nicht in dieser Antwort enthalten.
Das obige ist der detaillierte Inhalt vonWie interagiere ich mit Chromes „Clear Browsing Data'-Shadow-DOM-Elementen mithilfe von Selenium?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!