我正在尝试使用Selenium自动化我的Web应用程序。我可以使用Selenium登录,但之后会生成一个Web applet,我无法获取该应用程序的句柄。
真的有可能实现自动化吗?
答案 0 :(得分:0)
我不知道,Selenium WebDriver本身就像你发现的那样,不会让你在任何Java Applet的地方。
但是对于Java语言,Robot
类可能有帮助。
http://docs.oracle.com/javase/7/docs/api/java/awt/Robot.html
答案 1 :(得分:0)
抱歉,我知道它太晚了:)。我假设当您说“生成一个Web小程序”时,表示会生成一个新的弹出窗口。 (如果我错了,请纠正我)
我用来在这样的窗口句柄之间切换,
//保存当前(即旧)句柄 //寻找新窗口&获取新句柄和切换窗口
string currentHandle = driver.CurrentWindowHandle;
PopupWindowFinder finder = new PopupWindowFinder(driver);
string newHandle = finder.Click(driver.FindElement(By.Id("primarycontactid")));
driver.SwitchTo().Window(newHandle);