一尘不染

Selenium WebDriver Click()在IE9上失败

selenium

(我已经看过许多关于SO的其他类似文章,但不幸的是无法解决此问题,所以这里…)

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

对于其他建议,我尝试了以下技巧,但没有一个起作用:

  • 将窗口焦点更改为currentWindowHandle
  • 单击元素的父级,然后单击元素
  • 添加长时间的隐式等待
  • 添加长时间的显式等待(通过睡眠20秒)
  • 在元素上点击一整遍
  • 使用Submit()代替Click()
  • 将键“ \ n”发送到元素(Selenium将其报告为错误)

请注意,我已验证确实确实找到了按钮,因此这似乎不是问题。

另外,请注意,我已经确认该按钮确实在Selenium区域之外可以使用。也就是说,我可以浏览到该站点,输入登录凭据,然后单击“提交”按钮(它确实起作用!)。

另外,请注意此问题在IE上。Chrome和FF7对我而言不会发生。

这样说,还有其他人有其他想法吗?


阅读 375

收藏
2020-06-26

共1个答案

一尘不染

您的网站是否可以公开测试?您的IE缩放级别是否为100%?这是本机点击事件的要求,可通过此处的文档进行操作

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

如果这不起作用,则似乎是webdriver中的错误。您应该在这里打开一个问题。

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

driver.navigate().to("javascript:document.getElementById('yoursubmitbutton').click()");
2020-06-26