【问题标题】:How to edit #shadow-root (user-agent) value in selenium with Python如何使用 Python 在 selenium 中编辑#shadow-root(用户代理)值
【发布时间】:2021-12-21 10:19:48
【问题描述】:

我的工作环境是 Python、Chrome、Selenium

我想编辑 shadow-root (user-agent) 的值

    <div class="divclass">
      <input type="tel" id="mytel" name="telamount" data-wheel-step="100" class="oneclass" value="1">
        #shadow-root (user-agent)
          <div>1</div>
      </input>
</div>

如果我使用的是 js 的 .getAttribute(),输入的 id 为“mytel”,可以附加值 1,但不是附加 shadow-root。

我想换&lt;div&gt;的1

我一直在努力寻找,但我什至不知道这是否可能。

【问题讨论】:

    标签: python selenium dom polymer shadow-dom


    【解决方案1】:

    该值在 #shadow-root (user-agent)

    @dylanb 在他的comment 之一中明确提到了以下内容:

    如果 web 组件是使用关闭标志创建的,并且这些 web 组件在它们的影子 DOM 中创建交互元素,它是 审计工具无法检查其有效性 标记。

    他还补充说:

    此外,如果该组件的用户希望使用自动化 像 Selenium 这样的工具来自动化该组件的测试,它是 无法与 shadow DOM 组件交互。

    他谈到的两种可能的解决方案是:

    • 完全删除此关闭标志
    • 通过一组 API 公开组合树,无论关闭/打开模式如何,都可以进行自动化和审计。这应该包括一个 API 来有效地发现和返回具有影子根的 DOM 节点,并且应该允许 querySelector* 在这个组合树中运行。

    但这些步骤超出了 Selenium 的范围。


    参考

    您可以在以下位置找到相关的详细讨论:

    【讨论】:

      猜你喜欢
      • 2021-03-10
      • 2021-01-03
      • 1970-01-01
      • 2021-04-03
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 2020-10-29
      • 2020-10-10
      相关资源
      最近更新 更多