4

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

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

但无法获得成功。我有硒网络驱动程序。

4

2 回答 2

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
于 2013-02-08T09:57:19.567 回答
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 上方的主页,但如果您处理framethis 方法,则会将您带到页面的第一帧。

有关帧处理的更多信息。

于 2013-02-08T09:37:04.773 回答