selenium webdriver上的SendKeys偶尔在Internet Explorer 10中发送大写文本

selenium webdriver上的SendKeys偶尔在Internet Explorer 10中发送大写文本,selenium,internet-explorer-10,sendkeys,Selenium,Internet Explorer 10,Sendkeys,selenium webdriver上的SendKeys偶尔会在Internet Explorer 10中发送大写文本-例如登录页面: var wait = WebDriverWaitObject(); wait.Until(d => this.driver.FindElement(By.Id("uid"))); this.driver.FindElement(By.Id("uid")).Clear(); this.drive

selenium webdriver上的SendKeys偶尔会在Internet Explorer 10中发送大写文本-例如登录页面:

        var wait = WebDriverWaitObject();
        wait.Until(d => this.driver.FindElement(By.Id("uid")));
        this.driver.FindElement(By.Id("uid")).Clear();
        this.driver.FindElement(By.Id("uid")).SendKeys(username);

这种情况只在IE上偶尔发生,没有其他浏览器。发送键有错误吗?

如果是错误,也不会感到惊讶。我建议将IE版本从64位->32位更改为test

此外,如果您使用的是10.0.11(2013年11月12日),请尝试旧版本。例如,当我使用较旧的chrome版本时,有时它会解决此类问题,直到selenium社区发送该浏览器版本的修复程序

最后,如果您使用的是随机生成的用户名。在将用户名发送到keys之前,尝试对用户名使用downcase/lower方法。差不多

random_username = "John"
lowercase_username = random_username.lower()
然后在selenium代码中插入
小写的\u用户名

this.driver.FindElement(By.Id("uid")).SendKeys(lowercase_username)

您使用的是64位版本的IE驱动程序吗?如果是这样,请尝试一下32位版本。用户名的值是多少?是硬编码还是随机生成的。嗨,Richard,我用的是32位版本。64位版本的运行速度非常慢-不知道为什么,但结果一直是32位。kkdjfl-我使用的是硬编码的用户名-它是c#中App.config中使用的参数。我有一个相反的问题-有时sendKeys使用小写,尽管我指定了所有大写字母。嗨,Russel,用户名是静态的,但我可以尝试一下,然后运行几次自动化测试。