selenium - 在影子DOM中查找元素

标签 selenium selenium-webdriver css-selectors protractor shadow-dom

Protractor 1.7.0引入了一个新功能:新的定位器 by.deepCss ,它有助于在shadow DOM中查找元素。

它涵盖哪些用例?您什么时候想要到达影子DOM中的元素?

我问这个问题的原因是,我在问题的动机部分上不见了-我考虑 Protractor 主要是作为一个有助于模仿实际用户交互的高级框架。访问影子树听起来像是一项非常深入的技术工作,为什么您要这样做却使我感到困惑。

最佳答案

为了回答您的问题,这里有一个相关的问题:“shadow dom提供了哪些信息,而查看原始html却没有?”

以下代码段创建了一个dom dom(通过chrome或firefox查看):

<input type="date">


如果单击箭头,则会打开一个包含所有日期的弹出窗口,您可以选择它。

现在,假设您正在构建一个酒店预订应用程序,并且制作了一个自定义的影子dom日期选择器,当房间不可用时,它将在此处屏蔽(不允许用户选择)日期。

查看原始html,您会看到<input type="date">以及用户选择的值/日期。但是,您将如何测试中断的UI是否按预期工作?为此,您需要检查弹出窗口所在的影子dom。

关于selenium - 在影子DOM中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28682814/

相关文章:

javascript - Scrapy 中的 Selenium + PhantomJS

javascript - 我想使用 Selenium Webdriver 在 <Pre> 标记中插入数据

java - 基于 Android 模拟器中特定定位器的最佳向上/向下滚动方法是什么?

python - 如何使用 Selenium Python headless 运行 Microsoft Edge?

java - 使用 Selenium WebDriver java 单击动态加载页面的元素

java - 如何使用 java 使用 WebDriver 创建新的 google 帐户期间读取图像框中的文本

selenium - webdriver-manager 更新命令第一次总是失败,但之后会通过

css - :empty selector not working in css

css - 有没有办法强制降低 CSS 的特异性?

使用选择器或方法帮助的 JQuery 列表遍历