我正在使用 selenium 测试站点,我需要向其中一个字段发送电子邮件。到目前为止,我正在使用这种 Java 方法:
String email = "test@example.com"
WebElement emailField = driver.findElement(By.id("mainForm:accountPanelTabId:1:accountEmails");
emailField.sendKeys(email);
但是出于(对我来说)未知的原因,这正是将这个值发送到该字段:
testvexample.com
(所以基本上“@”被“v”取代了)
出于好奇:我是捷克人,使用捷克语键盘。写“@”符号的一种快捷方式是 rightAlt + v 所以我相信这可以连接......
所以我正在搜索任何总是写“@”符号的“防弹”方法。任何帮助表示赞赏。
编辑 sendKeys 是 Selenium 的方法,它模拟在键盘上打字。 javadoc 在这里:http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#sendKeys%28java.lang.CharSequence...%29
最佳答案
以下应该有效:String email = "test\u0040example.com";
很抱歉之前误读了这个问题。
我认为您必须使用 Keys
枚举中的正确值来调用 sendKeys
来模拟您获取 at 符号的方式。使用 Keys.ALT
和弦中的“v”:
sendKeys(Keys.chord(Keys.ALT, "v"));
关于java - 在符号 ("@"处转换为 CharSequence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7186474/