我正在进行硒学习,当我在文本中探索处理Windows和框架主题时,我发现了这段代码。是否有必要实例化Actions类以及如果我们永远不会在代码中使用它,我们为什么需要这样做呢?
public class SwitchBetweenFrames {
public static void main(String... args) {
WebDriver driver = new FirefoxDriver();
driver.get("file://C:/Frames.html");
Actions action = new Actions(driver);
driver.switchTo().frame(0);
WebElement txt = driver.findElement(By.name("1"));
txt.sendKeys("I'm Frame One");
driver.switchTo().defaultContent();
driver.switchTo().frame(1);
txt = driver.findElement(By.name("2"));
txt.sendKeys("I'm Frame Two");
}
}
答案 0 :(得分:1)
不,这不是实例化Actions class的必要步骤,除非确实需要它。对于您的代码,根本不需要它。如果您对该部分进行评论,您的代码仍然有效 通常,动作类可以用来模拟一些用户手势,例如:拖放,点击和按住等,按照正常标准,实现起来有点棘手。
答案 1 :(得分:1)
不,如果不需要,我们不需要Action。切换到框架或警报是不同的,使用Action是不同的概念。
您可以使用Action类的不同功能
http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/interactions/Actions.html
并且对于开关仅用于将webdriver的控制从一个页面转移到另一个页面或从一个帧转移到另一个页面
答案 2 :(得分:0)
不,没有必要使用Action类将控件传递给窗口。对于Frames,我们只是将控件传递给另一个帧。所以使用了SwitchTo
。
动作类通常用于鼠标悬停操作,拖放,点击和保持等。
如果您想了解更多关于动作类的信息,请查看链接,
Actions class