到目前为止,我已经使用Selenium Actions库来在自动化项目中执行鼠标/键盘操作。
最近,我发现了Java AWT Robot类。它与SeleniumActions库有什么可比性?在其中一个案例中是否存在一些可以解决的极端情况?限制?稳定性?性能方面的考虑?
这些工具的工作方式存在巨大差异。Selenium使用WebDriver API并将命令发送到浏览器以执行操作(通过“ JSON有线协议”)。
Selenium
Java AWT Robot使用本机系统事件来控制鼠标和键盘。
如果您正在执行浏览器自动化,那么理想情况下,您永远不要使用类似的东西,Robot因为通常硒提供的功能已绰绰有余。虽然,有些时候没有打开,例如浏览器或本地OS弹出,上传/下载文件- 这一点是可以 也 解决了机器人- 虽然通常有特定的硒的解决方案/变通方法,可以帮助避免使用Robot。这些变通办法的关键思想是“因为我们无法控制弹出窗口,所以才不要打开它们”。
Robot
例如,当您在Firefox中下载文件时,会出现一个文件浏览器弹出窗口,提示您选择位置和文件名。这是您无法使用操纵的东西selenium。但是,您可以做的是让Firefox知道哪些文件类型以及要自动保存下载的位置,而不显示弹出窗口。。
selenium
相关话题: