如何使用 Python 在 selenium 中编辑#shadow-root(用户代理)值
Posted
技术标签:
【中文标题】如何使用 Python 在 selenium 中编辑#shadow-root(用户代理)值【英文标题】:How to edit #shadow-root (user-agent) value in selenium with Python 【发布时间】: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。
我想换<div>
的1
我一直在努力寻找,但我什至不知道这是否可能。
【问题讨论】:
【参考方案1】:该值在 #shadow-root (user-agent)
@dylanb 在他的comment 之一中明确提到了以下内容:
如果 web 组件是使用关闭标志创建的,并且这些 web 组件在它们的影子 DOM 中创建交互元素,它是 审计工具无法检查其有效性 标记。
他还补充说:
此外,如果该组件的用户希望使用自动化 像 Selenium 这样的工具来自动化该组件的测试,它是 无法与 shadow DOM 组件交互。
他谈到的两种可能的解决方案是:
完全删除此关闭标志 通过一组 API 公开组合树,无论关闭/打开模式如何,都可以进行自动化和审计。这应该包括一个 API 来有效地发现和返回具有影子根的 DOM 节点,并且应该允许 querySelector* 在这个组合树中运行。但这些步骤超出了 Selenium 的范围。
参考
您可以在以下位置找到相关的详细讨论:
How to read text that is under #shadow-root (user-agent)【讨论】:
以上是关于如何使用 Python 在 selenium 中编辑#shadow-root(用户代理)值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 python 和 Selenium 将 cookie 保存在浏览器中
如何使用Selenium和Python在网站内的页面中导航?