Wunderbar, falls dies für dich so funktioniert. Ich weiß nicht ob die Klasse ".sc-dcJsrY.dWLoUN" sich verändern wird (also dynamisch ist), daher würde ich über das data-testid Attribute gehen. In etwa so, auch wenn ich es nur JavaScript seitig im Browser getestet habe (DevTools), sollte es genauso auch im WebDriver Skript funktionieren. Kannst du ja gern mal ausprobieren 😀 .
- Suche im Dokument das Element vor dem "shadow-root (open)" Bereich.
==> Das DIV mit der ID "#usercentrics-root" (CSS Selector). - Suche den Button "Alles Akzeptieren" innerhalb des Bereichs (des ShadowDOM).
==> Ebenfalls CSS Selector, "button[data-testid='uc-accept-all-button']". - Klick das gefundene Element, fertig.
==> .click()
AutoIt
_ClickShadowDomElement('#usercentrics-root', 'button[data-testid="uc-accept-all-button"]')
Func _ClickShadowDomElement($sCssSelectorBeforeShadowRoot, $sCssSelectorTargetInShadowDom)
Local $sJavaScriptCode = StringFormat( _
'document' & _
'.querySelector("%s")' & _
'.shadowRoot.querySelector("%s")' & _
'.click();', _
StringReplace($sCssSelectorBeforeShadowRoot, '"', "'"), _
StringReplace($sCssSelectorTargetInShadowDom, '"', "'"))
_WD_ExecuteScript($sSession, $sJavaScriptCode)
EndFunc
Alles anzeigen
Viele Grüße
Sven
Update: Nach Hinweis im Post #29 ist der Code hier (Post #28) nun korrigiert und funktioniert wie gewünscht.