在运行模式下执行脚本时,机器人类在地址栏URL而不是文本框中键入

问题描述

我有一个 selenium 脚本,它有一个使用 Robot 类在文本框中输入的步骤,我使用下面的代码在文本框中输入:

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_3);

在调试模式下,这工作正常,因为窗口/光标处于焦点,但在运行模式下执行时,机器人类在浏览器的地址栏中而不是文本框中键入。

Typed "333" in address bar instead of SerachBox

解决方法

1.首先点击文本框使用 Driver.findElement(By.Xpath("xpath of textbox")).click();或 Driver.findElement(By.Xpath("xpath of textbox")).sendKeys("");

  1. 然后使用您的脚本。 机器人机器人 = 新机器人(); robots.keyPress(KeyEvent.VK_3);

注意:- 如果无法点击,请使用 javascript 滚动到该文本框。