Firefox 没有得到 return 键
Firefox did not get the return key
WebElement element = ...
element.clear();
element.sendKey("1234567\n");
Chrome 得到了 return 键,但是 Firefox 没有。
"\n" 和 Keys.RETURN/Keys.ENTER 有什么区别?
element.sendKey("1234567\t");
但是Chrome没有得到TAB键
当你有一个像 "a\tb\nc" 这样的 java 字符串时,它变成了一个 ASCII 值为 65、9、66、10、67 的字符序列。所以,如果你调用 element.sendKey("a\tb\nc");
],然后这些字节将被发送到浏览器以进行处理。
相比之下,Keys 值是 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");
会导致向浏览器发送不同的字节序列,并且只有标准要求浏览器按照您的预期执行该序列。
WebElement element = ...
element.clear();
element.sendKey("1234567\n");
Chrome 得到了 return 键,但是 Firefox 没有。 "\n" 和 Keys.RETURN/Keys.ENTER 有什么区别?
element.sendKey("1234567\t");
但是Chrome没有得到TAB键
当你有一个像 "a\tb\nc" 这样的 java 字符串时,它变成了一个 ASCII 值为 65、9、66、10、67 的字符序列。所以,如果你调用 element.sendKey("a\tb\nc");
],然后这些字节将被发送到浏览器以进行处理。
相比之下,Keys 值是 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");
会导致向浏览器发送不同的字节序列,并且只有标准要求浏览器按照您的预期执行该序列。