【问题标题】:convert at symbol ("@") to CharSequence在符号 ("@") 处转换​​为 CharSequence
【发布时间】:2011-08-25 16:07:33
【问题描述】:

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

【问题讨论】:

    标签: java selenium charsequence


    【解决方案1】:

    以下应该可以工作:String email = "test\u0040example.com";

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

    我认为您必须使用 Keys 枚举中的正确值调用 sendKeys 来模拟您获取 at 符号的方式。在和弦中使用Keys.ALT 和“v”:

    sendKeys(Keys.chord(Keys.ALT, "v"));
    

    【讨论】:

    • 坏消息...还是一样:(
    • 很抱歉听到这个消息。这意味着 sendKeys 方法正在对您的字符串执行某些操作。在这里,我在想你有一种奇怪的字体。 ;-) 你能找到sendKeys 的源代码吗?
    • 让我找到了解决方案:当我将键盘默认设置从“捷克语”更改为“英语”时(所以现在,英语键盘是默认键盘),原始代码开始工作。非常感谢您的帮助!
    • 迟到,但正确的组合是 Keys.chord(Keys.ALT, Keys.CONTROL, "v"),因为 rightAlt 通常像 ALT+CTRL 一样工作。
    猜你喜欢
    • 2010-11-26
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 2011-09-29
    相关资源
    最近更新 更多