我正在使用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元素
1条答案
按热度按时间06odsfpq1#
当网页被渲染时,您会发现
<input>
已经是focused,但Selenium的焦点在 * 顶级浏览上下文 *。因此,要识别
<input>
元素,您需要首先将Selenium的焦点放在shadow-root中。您可以在PrintText-How to extract info within a #shadow-root (open) using Selenium Python中找到相关的详细讨论