在Selenium中的单个窗口中改变不同页面之间的驱动焦点

问题描述 投票:0回答:1

我是一个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页面。

请大家帮忙。

谢谢。

java selenium selenium-webdriver
1个回答
0
投票

看来这个页面使用的是框架或者iframe,但是因为你没有提供URL,所以只能猜测。

所以,如果要切换框架,只需要使用 switchTo 方法。

driver.switchTo().frame0); // Frame by number
driver.switchTo().frame("iframe1"); // Frame by selector

在调用之后,你就会切换到那个pagefiframe的 "上下文"。

© www.soinside.com 2019 - 2024. All rights reserved.