WebElement element = ...
element.clear();
element.sendKey("1234567\n");
Chrome获得了返回键,但Firefox没有。 “ \ n”和Keys.RETURN / Keys.ENTER有什么区别?
element.sendKey("1234567\t");
但是Chrome没有获得TAB键。
答案 0 :(得分:1)
当您使用Java字符串(如“ a \ tb \ nc”)时,它将变成具有ASCII值65、9、66、10、67的字符序列。因此,如果调用element.sendKey("a\tb\nc");
,则这些字符字节将被发送到浏览器进行处理。
相反,键值是unicode,如在https://github.com/SeleniumHQ/selenium/blob/master/java/client/src/org/openqa/selenium/Keys.java的源文件中所示
TAB ('\uE004'),
CLEAR ('\uE005'),
RETURN ('\uE006'),
ENTER ('\uE007'),
SHIFT ('\uE008'),
因此清楚地调用element.sendKey("a" + Keys.TAB + "b" + Keys.ENTER + "c");
会导致将不同的字节序列发送到浏览器,并且只有标准要求浏览器才能执行该序列。