2013-02-08 60 views

回答

3

這是紅寶石代碼與硒切換iframe。

#Move into iframe 
page.driver.browser.switch_to.frame "name or id of frame" 

#Move to default content or outsite frame 
page.driver.browser.switch_to.default_content 
+0

有一些iframe與硒的好鏈接[Iframe](http://stackoverflow.com/questions/11909149/how-can-i-switch-between-two-frames-with-capybara)和[Iframe1]( http://code.google.com/p/selenium/wiki/RubyBindings) –

1

如果你想做frame裏面的任何事情。首先你必須進入框架。

代碼輸入框:

//Assume driver is initiated properly some where. 
    driver.switchTo.frame(FrameName); 

(Or) 
    driver.switchTo.frame(FrameIndexValue); 

(Or) 
    WebElement element = driver.findElement(By.id(LocatorValue)); 
    driver.switchTo.frame(element); 

完成框架內你的行動之後。您可以通過使用

代碼離開框架出來框架:

driver.switchTo.defaultContent(); 

如果你正在處理的iframe那麼defaultContent()將帶你到主網頁上面的所有iframes,但如果您處理frame此方法將帶您到頁面的第一幀。

欲瞭解更多info on frmae handling

+0

我收到的時候我已經用它的錯誤:NoMethodError例外:#未定義的方法'SWITCHTO」你可以做到這一點<水豚::硒::驅動器:0xb206aec>。 我需要一個紅寶石硒代碼 –

+0

對不起,這是我的錯誤。使用此鏈接[框架處理](http://stackoverflow.com/questions/11909149/how-can-i-switch-between-two-frames-with-capybara)。它可能會幫助你。如果它不工作讓我知道。 – Manigandan

相關問題