如何在webdriver中执行附加到按钮的javascript方法?

时间:2012-01-18 23:40:39

标签: webdriver

我正在尝试执行附加到webdriver中按钮的javascript方法。

我有一些事情:

driver.FindElement(By.Id(Button)).click();

此按钮附有"onclick=javascript:method()"。因此,当我在浏览器上运行测试时,它工作正常。但是如果我在htmlunit中运行它,则不会执行onclick方法。

我试过这样的事情:

IJavascriptExecutor js = (IJavascriptExecutor) driver;
js.executeScript(""); 

但不确定如何在"中输入方法名称。 "

1 个答案:

答案 0 :(得分:2)

您有几个选项(以下示例在C#中):

通过jQuery触发点击事件:

((IJavaScriptExecutor)driver).ExecuteScript("$(arguments[0]).click();", element);

通过javascript:

触发点击事件
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].click();", element);

最后但并非最不重要的是,直接调用该函数:

((IJavaScriptExecutor)driver).ExecuteScript("someFunction();");

请注意,这些都不是最合适的;你应该考虑正确配置HtmlUnit,以便javascript按预期工作。