【问题标题】:Selenium sendKeys with Chrome- HebrewSelenium sendKeys with Chrome-希伯来语
【发布时间】:2015-05-26 20:12:49
【问题描述】:

我尝试使用:

action.sendKeys("some phrase with a dot, for example: www.google.co.il ");

但是当我运行程序时,动作写的是:

www*google*co*il

* 代表希伯来字符。 我只能通过在我的计算机中禁用希伯来语来禁用它。

我试图通过使用 JS:set.attribute 来绕过这个问题,但它会产生很多问题,我需要更好的东西。

有没有类似sendkeys的功能或者修复方法?

【问题讨论】:

    标签: google-chrome selenium selenium-webdriver action sendkeys


    【解决方案1】:

    您可以使用以下代码尝试 JavascriptExecuter:

    WebElement text= driver.findElement(By.name("q"));
    JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
    jsExecutor.executeScript("arguments[0].value='test input';", text);
    

    Webelement 是您需要写入值的文本框。

    或者您可以在单击文本框后尝试一些复制粘贴操作。

    actions.click();
    

    请参阅此 URL 以获取帮助: http://www.helloselenium.com/2015/03/how-to-set-string-to-clipboard-data.html

    【讨论】:

    • 感谢您的第一个解决方案:正如我所说,使用 Jsecuter 有时会起作用,但大多数情况下不会。设置属性或值不是我的选择。对于您的第二个解决方案:您能详细说明一下吗?如果我复制粘贴我的文本,我是否仍会使用具有相同文本的 sendkeys 到元素?您是否建议使用它而不是发送密钥?如果是这样..怎么样?我阅读了链接,但它谈到了将复制粘贴到记事本中。我怎么能使用这样的东西?谢谢。 Avinoam
    • 您可以对复制粘贴执行相同的操作,例如单击可编辑的 webelement(文本框),然后复制粘贴内容:webelement.click();
    • 然后粘贴字符串:String string = "Hello Selenium"; StringSelection stringSelection = new StringSelection(string); Toolkit.getDefaultToolkit().getSystemClipboard() .setContents(stringSelection, null);尝试 { 运行时运行时 = Runtime.getRuntime();机器人机器人 = 新机器人();机器人.keyPress(KeyEvent.VK_CONTROL);机器人.keyPress(KeyEvent.VK_V);机器人.keyRelease(KeyEvent.VK_V);机器人.keyRelease(KeyEvent.VK_CONTROL); } 捕捉(异常 e){ e.printStackTrace(); }
    • 感谢您的解决方案。不幸的是,解决方案不是我需要的。我需要硒来实际模拟写作,所以复制粘贴不会为我解决问题。
    【解决方案2】:

    我发现了一种在测试期间更改语言的方法,同时解决了与上传图片相关的另一个问题。有一个名为 AutoIT 的免费软件,您可以使用它来帮助您处理 Windows 上的对话框。我编写了一个脚本来按下 alt 并单击 shift 并更改我的语言。

    要更改语言,我使用以下行:

    Runtime.getRuntime().exec("path_of_script_here/name_of_script_here.exe");
    

    脚本的制作方式如下:

    1. 打开一个文本文件。
    2. 在文件里面写:
      Send ("{ALTDOWN}") ;Hold down Alt Sleep(100) ;Wait 100 milliseconds Send("{LSHIFT}{ALTUP}") ;Press Left-Shift and release Alt
    3. 另存为 .au3 文件。
    4. 下载并安装 AUTOIT。
    5. 编译脚本,生成exe文件。
    6. 运行测试。

    希望这对遇到此问题的其他人有所帮助。如果有不清楚的地方,可以问我,我很乐意提供帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      • 2018-04-25
      • 1970-01-01
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多