我正在尝试执行附加到webdriver中按钮的javascript方法。
我有一些事情:
driver.FindElement(By.Id(Button)).click();
此按钮附有"onclick=javascript:method()"
。因此,当我在浏览器上运行测试时,它工作正常。但是如果我在htmlunit中运行它,则不会执行onclick方法。
我试过这样的事情:
IJavascriptExecutor js = (IJavascriptExecutor) driver;
js.executeScript("");
但不确定如何在"中输入方法名称。 "
答案 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按预期工作。