在Selenium中的单个窗口中改变不同页面之间的驱动焦点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Selenium中的单个窗口中改变不同页面之间的驱动焦点相关的知识,希望对你有一定的参考价值。
我是一个Selenium自动化的初学者,我遇到了一个情况,如果我打开一个页面xyz.com,并登录,然后有一些文本框,下拉和按钮被点击,但问题是,当驱动程序进入该页面后,我可以看到这些元素,并可以得到ID和必要的标签,但这些整个页面由3个不同的(.do)页面组成。
例如:1.主页面是abc.do 2.左侧面板是mno.do 3.中间是xyz.do。IE中检查元素的图片而我的元素存在于xyz.do中,链接存在于mno.do中。
我使用eclipse来编码,Selenium 3.1,IE 11。
我如何能在它们之间切换,使我的驱动程序可以找到元素,现在写它的显示元素无法找到,当我拉的源代码,它提供的只有第一个.do页面。
请大家帮忙。
谢谢。
答案
看来这个页面使用的是框架或者iframe,但是因为你没有提供URL,所以只能猜测。
所以,如果要切换框架,只需要使用 switchTo
方法。
driver.switchTo().frame0); // Frame by number
driver.switchTo().frame("iframe1"); // Frame by selector
在调用之后,你就会切换到那个pagefiframe的 "上下文"。
以上是关于在Selenium中的单个窗口中改变不同页面之间的驱动焦点的主要内容,如果未能解决你的问题,请参考以下文章