Python- selenium :如何'switch_to.active_element'到一个阴影dom中的输入元素?

tcomlyy6  于 2023-02-19  发布在  Python
关注(0)|答案(1)|浏览(119)

我正在使用Python和Selenium编写一个QA自动化脚本。
我想检查网页渲染时输入是否已经聚焦。我的问题是我找不到一种方法来获取阴影dom中当前聚焦的输入。
HTML文档如下所示:

<div>
  #shadow-root
    # this input element is already focused when the page is rendered
    <input type='text'>
</div>

我试过driver.switch_to.active_element,但它总是返回None,可能是因为它不能访问shadow dom。
我希望有人知道另一种方法来获取阴影dom中当前聚焦的input元素

06odsfpq

06odsfpq1#

当网页被渲染时,您会发现<input>已经是focused,但Selenium的焦点在 * 顶级浏览上下文 *。
因此,要识别<input>元素,您需要首先将Selenium的焦点放在shadow-root中。
您可以在PrintText-How to extract info within a #shadow-root (open) using Selenium Python中找到相关的详细讨论

相关问题