2012-01-16 63 views
8

我有网页上的按钮,按钮,当我通过IE浏览器运行的webdriver不会点击 - 我已经尝试下面的解决方法,但没有运气 - 通过变通办法硒点击不与InternetExplorerDriver

点击使用Javascript:

((JavascriptExecutor) driver).executeScript("$(arguments[0]).click()", webElement) 

使用的SendKeys:

webElement.SendKeys(keys.Enter) 

使用动作生成器

Actions test = new Actions(driver); 
     test.moveToElement(webElement); 
     test.clickAndHold(); 
     test.release(); 
     test.build(); 
     test.perform(); 

确保窗口是活动之一,则父对象上点击,那么对象本身

问题是,他们没有工作。我检查了Firefox和Chrome,脚本运行良好。我已经确认使用IE时正在找到该元素。有没有其他解决办法可以尝试?

+0

您是否有翻页问题的示例页面?如果它可以与其他驱动程序正常工作,则可以将其作为错误提交。 – 2012-01-16 12:36:37

+0

不幸的是只能在内部应用程序上重现。通过切换窗口焦点,强制滚动,单击父元素,单击元素,然后发送Javascript来设法解决该问题。显然在那里的某处过度杀伤,但只是很高兴它的工作。 – Dave 2012-01-16 14:04:52

+3

我认为,IE窗口必须是最顶层,并重点进行了大量的动作才能正常工作。至少这是我的经验。 – 2012-01-16 14:14:50

回答

1

如果该按钮是表单提交按钮,则可以在表单的其他字段上使用:webElement.submit()

4

似乎你打算使用JQuery风格点击...正常的JavaScript风格点击应该工作。

试试这个:

((JavascriptExecutor) driver).executeScript("arguments[0].click();", webElement) 

我总是发现成功与点击IE浏览器中的一个元素以下。

  1. 如果是一个复选框/收音机:webElement.click();
  2. 可点击输入元件:webElement.sendKeys("\n");
  3. 对于其他元件,使用上面所述JS风格点击。
+0

如果可以,我会抱你! – Conner 2014-01-20 20:14:23

+0

@Conner - 谢谢,你让我的一天:) – KrishPrabakar 2014-01-27 06:10:48