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/