WebElement element = ...
element.clear();
element.sendKey("1234567\n");
Chrome获得了返回键,但Firefox没有。
“ \ n”和Keys.RETURN / Keys.ENTER有什么区别?
element.sendKey("1234567\t");
但是Chrome没有获得TAB键。
最佳答案
当您使用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");
会导致发送到浏览器的字节序列不同,并且只有标准要求浏览器才能按预期执行该序列。关于java - Firefox没有获得返回键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55961301/