我有以下典型的 shadow dom html 代码:
<input is="text-input" class="input-element style-scope paper-input"
autocomplete="off" placeholder="" autocapitalize="none" autocorrect="off"
aria-describedby="" aria-labelledby="paper-input-label-22" id="input-22"
tabindex="0">
#shadow-root (user-agent)
<div id="inner-editor">test</div>
</input>
我正在使用 Selenium 尝试获取影子根内的文本,但它总是返回 null,我知道打开和关闭影子 DOM 之间的区别,并且影子 dom 的打开版本总是显示为#shadow-在我的 Devtool 中打开 root(打开),所以我想知道如何判断此用户代理影子 dom 是打开还是关闭?
编辑:我正在使用 JS,我的代码如下所示:
driver.executeScript("return
arguments[0].shadowRoot",driver.findElement(webdriver.By.css("#input-
22"))).then(function(text) { text.getText()});
文本返回为空。
最佳答案
根据@FlorentB。建议,
driver.findElement(By.css("#input-22")).getAttribute("value")
将返回用户代理影子根的文本值。
关于python - 如何判断用户代理 Shadow Dom 是打开还是关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48451806/