我正在测试自动化大学学习硒网络驱动程序课程。在第 6 章中,讲师使用的是 Mac,并且能够使用以下命令发送 pi 符号:
public void enterPi(){
enterText(Keys.chord(Keys.ALT, "p") + "=3.14");
}
但在 Windows 上,我必须按住 alt 按钮并按数字键盘上的 227。
我已经尝试了 Chrome 和 Edge 驱动程序,但仍然无法工作。
这是我正在使用的功能:
public void enterText(String text){
driver.findElement(formInput).sendKeys(text);
}
我尝试了以下 3 个选项,得到了实际结果:
选项1:
enterText(Keys.chord(Keys.ALT, "227") +"=3.14");
得到以下信息:
选项2:
enterText(Keys.chord(Keys.ALT, Keys.NUMPAD2, Keys.NUMPAD2, Keys.NUMPAD7) +"=3.14");
得到以下信息: 在此输入图片描述
选项3:不使用enterText函数
new Actions(driver).keyDown(Keys.ALT).sendKeys("227").perform();
执行此操作的最佳方法是使用 Robot 类,该类可用于使用组合键执行系统级交互。请尝试使用以下代码进行相同的操作。您可以使用以下代码在必填字段中输入 π。
WebElement we = driver.findElement(By.xpath("xpath of the element"));// Provide the identifier of the text box or field
we.click();// perform a click operation to confirm the cursor is on the particular text input field
Robot r = new Robot();
r.keyPress(KeyEvent.VK_ALT);
r.keyPress(KeyEvent.VK_NUMPAD2);
r.keyRelease(KeyEvent.VK_NUMPAD2);
r.keyPress(KeyEvent.VK_NUMPAD2);
r.keyRelease(KeyEvent.VK_NUMPAD2);
r.keyPress(KeyEvent.VK_NUMPAD7);
r.keyRelease(KeyEvent.VK_NUMPAD7);
r.keyRelease(KeyEvent.VK_ALT);