据我所知,有两种使用 Selenium 进行输入的方法:
new Actions(webDriver).sendKeys("text to send").perform();
webElement.sendKeys("text to send");
Actions
方法似乎是复制用户键入的最自然方式,因为按键会发送到浏览器想要的任何位置(我相信正在幕后使用名为 sendKeysToActiveElement 的方法)。但是,许多教程指示测试人员使用 WebElement
方法(这实际上是使用 SafariDriver 时的唯一选择),我认为它更简单。
Actions
方法实际上可以更好地模拟用户交互,还是为了方便起见我应该使用 WebElement
方法?
最佳答案
公共(public)操作 sendKeys(java.lang.CharSequence...keys)
将键发送到事件元素。这与在事件元素上调用 WebElement.sendKeys(CharSequence...) 的不同之处有两个:
- 此调用中包含的修饰键不会被释放。
- 不会尝试重新聚焦元素 - 因此用于切换元素的 sendKeys(Keys.TAB) 应该可以工作。
关于selenium - 使用 Actions.sendKeys() 还是 WebElement.sendKeys() 来模拟用户使用 Selenium WebDriver 键入是否更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32715624/