Selenium WebDriver Click()因IE9而失败

Ste*_*oss 8 selenium

(我已经在SO上查看了很多其他类似的帖子,遗憾的是无法解决这个问题,所以这里......)

我正在使用Selenium WebDriver(C#实现,版本2.15)来驱动一个相当简单的网页.该页面包含一个表单,其中包含两个用于用户名和密码的<input>,以及一个用于提交表单的<input>.我可以成功输入用户名和密码的值,但是提交按钮上的Click()调用似乎没有效果.

根据其他建议,我尝试了以下技巧,其中没有一个有效:

  • 将窗口焦点更改为currentWindowHandle
  • 单击元素的父元素,然后单击元素
  • 添加一个长隐式等待
  • 添加一个长时间的显式等待(睡20秒)
  • 在元素上单击一大堆
  • 使用Submit()而不是Click()
  • 将密钥"\n"发送到元素(Selenium将此报告为错误)

请注意,我已经验证确实已成功找到<input>按钮,因此这似乎不是问题.

此外,请注意我已经验证按钮确实在Selenium-land之外工作.也就是说,我可以浏览到该站点,输入登录凭据,然后单击"提交"按钮(它可以工作!).

另请注意,此问题出在IE上.Chrome和FF7不适用于我.

所以说,有没有人有任何其他想法?

nil*_*esh 5

您的网站是否可以公开测试?你的IE缩放级别是100%吗?本地点击事件需要在此处提供文档

浏览器缩放级别必须设置为100%,以便可以将本机鼠标事件设置为正确的坐标.

如果这不起作用那么它似乎是webdriver中的一个错误.你应该在这里打开一个问题.

话虽如此,您可能会同时将Java脚本路由作为临时解决方案.就像是,

driver.navigate().to("javascript:document.getElementById('yoursubmitbutton').click()");
Run Code Online (Sandbox Code Playgroud)