如何定位新的弹出窗口,而不是使用Selenium的标签?

时间:2017-11-07 12:33:38

标签: ruby selenium selenium-webdriver

目前我一直在使用以下内容来检查是否已打开新标签页,然后切换到该标签页:

@wait.until{@driver.window_handles.length > 1}
@driver.switch_to.window(@driver.window_handles[1])  where 1 is the tab number  

我想知道如何使用类似上面的内容,但对于 windows ,此窗口是iFrame,使用Webdriver。

我需要在iframe中提供一些细节,然后切换回主窗口(虽然一旦提交了详细信息,iframe将关闭,我应该重定向回我之前的主窗口,所以这应该是自动的我认为)

另外要明确的是,我正在使用Selenium的Ruby绑定。

1 个答案:

答案 0 :(得分:0)

如果您需要在iframe中找到某些内容,则必须切换到感兴趣的iframe。例如,在Java中,如果您可以通过id:

标识iframe
driver.switchTo().frame(driver.findElement(By.id("idframe")));

最后,返回:

driver.switchTo().defaultContent();

我从未使用过红宝石,但是here应该是:

# switch to a frame
driver.switch_to.frame "some-frame" # id

# switch back to the main document
driver.switch_to.default_content