如何在iframe中填写文本字段中的值

时间:2013-02-08 08:16:53

标签: ruby-on-rails-3 selenium cucumber capybara

我正在编写黄瓜功能,我需要填写iframe中文本字段的值。我试过

find("#user_email").set "malicious_value"

但无法取得成功。我有selenium webdriver。

2 个答案:

答案 0 :(得分:3)

这是带有selenium的ruby代码,用于切换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

答案 1 :(得分: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()会将您带到所有iframe上方的主页面,但如果您处理frame此方法,则会转到第一个页面的框架。

有关frame handling的更多信息。