我遇到了SendKeys时文本字段可见的问题。我正在使用IEDriverServer.exe和C#。
以下是我可以重现问题的方法:
有问题的文字字段在窗口中可见,但您必须向下滚动才能看到它。要向下滚动,我使用以下代码单击元素:
var element = driver.FindElement(By.Xpath("…"));
element.Click();
这会向下滚动窗口并使文本字段可见。
但是当我尝试将文本发送到现在可见的窗口时:
element.SendKeys("blah");
我得到例外:
When_applicant_enters_application.Should_be_instantly_approved_on_external引发异常:OpenQA.Selenium.ElementNotVisibleException:元素未显示
如何修复或解决此问题?
Selenium版本:2.32.1 操作系统:Windows 7 浏览器:IE 浏览器版本:9.0.15
答案 0 :(得分:1)
我编写了代码来证明问题并将其提交给Selenium技术支持志愿者。
完整的讨论发布在http://code.google.com/p/selenium/issues/detail?id=5620 但带回家的是:
// Doesn't work
// driver = new InternetExplorerDriver();
// driver.Navigate().GoToUrl(@"D:\CGY\selenium\Bug5620\Bug5620\Bug5620.htm");
// Works
// driver = new FirefoxDriver();
// driver.Navigate().GoToUrl(@"D:\CGY\selenium\Bug5620\Bug5620\Bug5620.htm");
// Works
driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl(@"http://localhost:8080/Bug5620/"); // Hosted on Tomcat
所以可能存在可能涉及IE,IE安全设置,Visual Studio本地服务器和/或IE驱动程序的问题。这可能不是代码问题,但需要记录,因为其他人显然遇到了问题。
我不知道问题究竟在哪里,但我现在有一个解决方法,就是使用Firefox驱动程序。
谢谢你的帮助,吉姆。如果您找到了解决问题的更好方法,请在此处为其他人添加答案。