我正在编写黄瓜功能,我需要填写iframe中文本字段的值。我试过
find("#user_email").set "malicious_value"
但无法取得成功。我有selenium webdriver。
答案 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的更多信息。