我正在寫黃瓜功能,並且需要在iframe中的文本字段中填充值。我曾嘗試過如何在iframe中填充文本字段中的值
find("#user_email").set "malicious_value"
但無法取得成功。我有硒webdriver。
我正在寫黃瓜功能,並且需要在iframe中的文本字段中填充值。我曾嘗試過如何在iframe中填充文本字段中的值
find("#user_email").set "malicious_value"
但無法取得成功。我有硒webdriver。
這是紅寶石代碼與硒切換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
如果你想做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。
我收到的時候我已經用它的錯誤:NoMethodError例外:#未定義的方法'SWITCHTO」你可以做到這一點<水豚::硒::驅動器:0xb206aec>。 我需要一個紅寶石硒代碼 –
對不起,這是我的錯誤。使用此鏈接[框架處理](http://stackoverflow.com/questions/11909149/how-can-i-switch-between-two-frames-with-capybara)。它可能會幫助你。如果它不工作讓我知道。 – Manigandan
有一些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) –