如何判断用户代理Shadow Dom是打开还是关闭?
作者:互联网
我有以下典型的影子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尝试将文本获取到shadow root的内部,但它始终返回null,我知道开放式和封闭式Shadow DOM之间的区别,并且Shadow dom的开放版本始终显示为#shadow-root(open )在我的Devtool中,所以我想知道如何确定此用户代理影子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")
将返回用户代理影子根的文本值.
标签:selenium,shadow-dom,html,python 来源: https://codeday.me/bug/20191025/1928385.html