无法定位shadow dom元素

问题描述 投票:0回答:1

我正在尝试找到影子根下的元素。然而,当我访问 SLOT 标签下的一个组件时,它返回了 NONE。 下面是代码。

js_script = """
return (
    document.querySelector("macroponent-f51912f4c700201072b211d4d8c26010").shadowRoot.querySelector(
        "#item-snCanvasAppshellMain").shadowRoot.querySelector(
            "macroponent-76a83a645b122010b913030a1d81c780").shadowRoot.querySelector(
                "sn-canvas-main").shadowRoot.querySelector(
                    "sn-canvas-screen").shadowRoot.querySelector("macroponent-d4d3a42dc7202010099a308dc7c2602b")
);
"""


shadow_root61 = d.execute_script(js_script)
print(shadow_root61)

shadow_root61 返回 NONE 任何人都可以在这里帮忙吗

python css selenium-webdriver automation shadow-dom
1个回答
0
投票

如果您使用的是较新/最新版本的 Selenium,它们使使用影子根变得更加简单。这是一个代码示例,可帮助您开始使用新语法。

driver.get("http://watir.com/examples/shadow_dom.html");

WebElement shadowHost = driver.findElement(By.cssSelector("#shadow_host"));
SearchContext shadowRoot = shadowHost.getShadowRoot();
WebElement shadowContent = shadowRoot.findElement(By.cssSelector("#shadow_content"));

Assertions.assertEquals("some text", shadowContent.getText());
© www.soinside.com 2019 - 2024. All rights reserved.