4

我正在使用 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

4

1 回答 1

0

以下应该有效:String email = "test\u0040example.com";

很抱歉之前误读了这个问题。

我认为您将不得不sendKeys使用Keys枚举中的正确值来模拟您获得 at 符号的方式。Keys.ALT与和弦中的“v”一起使用:

sendKeys(Keys.chord(Keys.ALT, "v"));
于 2011-08-25T07:24:15.990 回答