(我已经看过许多关于SO的其他类似文章,但不幸的是无法解决此问题,所以这里…)
我正在使用Selenium WebDriver(C#实现,版本2.15)来驱动一个相当简单的网页。该页面包含一个表单,其中包含两个用于输入用户名和密码的<输入>,以及一个用于提交该表单的<输入>。我可以成功输入用户名和密码的值,但是提交按钮上的Click()调用似乎无效。
对于其他建议,我尝试了以下技巧,但没有一个起作用:
请注意,我已验证确实确实找到了按钮,因此这似乎不是问题。
另外,请注意,我已经确认该按钮确实在Selenium区域之外可以使用。也就是说,我可以浏览到该站点,输入登录凭据,然后单击“提交”按钮(它确实起作用!)。
另外,请注意此问题在IE上。Chrome和FF7对我而言不会发生。
这样说,还有其他人有其他想法吗?
您的网站是否可以公开测试?您的IE缩放级别是否为100%?这是本机点击事件的要求,可通过此处的文档进行操作
浏览器缩放级别必须设置为100%,以便可以将本机鼠标事件设置为正确的坐标。
如果这不起作用,则似乎是webdriver中的错误。您应该在这里打开一个问题。
话虽如此,您可能同时可以将Java脚本作为临时解决方案。就像是,
driver.navigate().to("javascript:document.getElementById('yoursubmitbutton').click()");