我正在编写cucumber特性,需要在iframe的文本字段中填充值。我试过
find("#user_email").set "malicious_value"
但没能成功。我有硒网络驱动程序。
这是带有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
如果您想在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
,则此方法会将您带入页面的第一帧。
有关帧处理的详细信息。