当在母版页(URL 1)上单击按钮时,我们有一个页面(URL 2)嵌入或加载到另一个页面(母版页)的Div元素(弹出窗口)中。
我无法访问此嵌入页面上的元素。
firepath开发人员插件显示,有两个对象(Top Window URL 1和另一个具有不同的URL 2)。当我尝试在第2页URL 2上使用xpath定位器突出显示任何元素时,由于选择的对象/文档是Top Window,因此它不成功。要访问第2页上的元素,需要更改文档。
尝试使用SwitchTo方法,但没有运气。嵌入的页面不会加载到单独的窗口中,也不会加载到Iframe中。
SwitchTo方法只能在打开另一个窗口或页面上存在Iframe时使用。
是否有任何想法或解决方案可以更改文档上下文,以便将所有新命令发送到此新页面2.
我使用的是C#bindings v2.53。
提前致谢。
答案 0 :(得分:1)
尝试使用:
driver.SwitchTo().Window(driver.WindowHandles.ToList().Last());
答案 1 :(得分:0)
我遇到了问题并最终回答了问题。
非常简单。它只是用jquery来完成。
{driver.executeScript(" return $(' body / deep /< #yourSelector>')}
这段代码只是从shadow DOM中绘制元素,可以进一步用于模拟用户操作... :)