最近我从Selenium RC迁移到了Webdriver。输入包含分隔符TAB的文本用于在Selenium RC上正常工作。但是当使用webdriver时,输入tab会将焦点移动到下一个输入。
示例文字:
Name Age
Mark 35
我做了以下事情:
if(text.contains("\t"))
{
data = text.split("\t");
for (String str : data)
{
element.sendKeys(str);
element.sendKeys(Keys.TAB);
}
}
else
{
element.sendKeys(text);
}
我尝试使用elements.sendKeys("\t")
以及elements.sendKeys("\\t")
。
有关如何实现这一目标的任何建议吗?
提前致谢。
答案 0 :(得分:2)
您可以使用Actions类进行高级操作。请参阅此网站http://www.guru99.com/keyboard-mouse-events-files-webdriver.html
答案 1 :(得分:0)
正如评论中已经说过的那样,sendKeys
的使用将像浏览器的普通用户一样工作。这意味着浏览器将专注于下一个输入。如果您确实需要在输入中添加TAB,我认为解决方案是execute JavaScript。
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('" + inputId + "').value = '\\t';");