我试图在文本字段中输入一个值,然后选择Tab到下一个字段(也输入值)。 Keys.TAB方法似乎不起作用。
我的代码如下:
var Keys = JavaImporter(org.openqa.selenium.Keys)
var input = WDS.browser.findElement(pkg.By.xpath('xpath_to_input'))
input.sendKeys('value')
input.sendKeys(Keys.TAB)
我收到以下错误:
sun.org.mozilla.javascript.internal.EvaluatorException: Can't find method org.openqa.selenium.remote.RemoteWebElement.sendKeys(string). <Unknown source>
感谢您的帮助。我尝试了各种各样的东西,但是不行。
答案 0 :(得分:2)
除了ekuusela建议的还有2个选项:
使用\t
转义序列,如:
input.sendKeys('value\t');
使用java.awt.Robot方法如下:
input.sendKeys('value')
var robot = new java.awt.Robot()
var keyEvent = java.awt.event.KeyEvent
robot.keyPress(keyEvent.VK_TAB)
robot.keyRelease(keyEvent.VK_TAB)
请记住,“机器人”方法在执行它的机器上模拟本机键和鼠标事件,因此如果您使用远程webdriver实例,它将无法播放。
有关更多WebDriver采样器提示和技巧,请参阅The WebDriver Sampler: Your Top 10 Questions Answered指南。
答案 1 :(得分:1)
如果使用Java 6,则必须在数组中传递字符串,如下所示:
var input = WDS.browser.findElement(pkg.By.xpath('xpath_to_input'))
input.sendKeys(['value'])
input.sendKeys([Keys.TAB])