如何利用Java代码加快Selenium Webdriver中iFrame的切换?

时间:2015-09-22 08:38:37

标签: java c# selenium iframe selenium-webdriver

对于Selenium WebDriver:我使用的是Eclipse IDE和Java代码

正在测试的应用程序:内置于C#

我的脚本需要在帧之间切换并执行一些操作。这需要经常进行。问题是每当执行切换语句时脚本执行变得非常慢(大约20秒延迟)。帧层次结构如下:

1个父框架:MainFrame
3个子框架:左,中,右

任何一个开关的语句集如下所示:

driver.switchTo().defaultContent();
driver.switchTo().frame("mainFrame"); //switching to parent frame. This statement causes the delay
driver.switchTo().frame("left"); //switching to left frame

请建议是否有办法避免这种延迟。

1 个答案:

答案 0 :(得分:2)

您可以尝试先将帧存储为元素,然后切换到该元素。  请看下面的例子:

var frameExample = driver.FindElement(By.className("myFrame"));
driver.switchTo().frame(frameExample);

所以基本上你可以将帧作为静态元素并在需要时切换到所需的元素,试一试,它可能会解决性能问题。