python - 如何判断用户代理 Shadow Dom 是打开还是关闭?

标签 python html selenium shadow-dom

我有以下典型的 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/

相关文章:

python - 将整型变量添加到列表中

javascript - 仅在第一个 <p> 上更改文本而不使用 Id 或 Class

html - 如何通过 attr() 将 HTML `data-` 字符串属性传递到 SCSS mixin?

php - 如何在 PHP While 循环中使用 CSS 来显示数据?

javascript - 使用 Python 在 Selenium 中运行 javascript

python - 如何使用selenium python从页数转到最后一页?

python - 如何将非英文字符串存储到excel文件中,python3?

python - 使用 ipython 和 %pdb 在调试 session 中访问变量

python - Pandas 数据框搜索字符串并返回 False 值

python - 如果找不到 item 中的字母之一,我该如何循环它来执行 driver.refresh() 并重试?