我想使用javascriptexecutor执行单击。
JavasciptExecutor jse=(JavascriptExecutor) webDriver;
jse.executescript("arguments[0].click();",webelement)
从safari运行时,显示“undefined is not a function<evaluating arguments[0].click
”
同样适用于chrome驱动程序。
我是否需要在启动webDriver时添加任何功能?
我已经添加了capabilities.SetJavascriptEnabled(true)
。仍然无法正常工作
答案 0 :(得分:0)
您必须以浏览器方式设置驱动程序的功能。
在safari浏览器中运行测试用例时,为浏览器设置一个全局标志。您可以创建配置文件并添加&#34; safari&#34;或&#34; chrome&#34;通过safari或chrome运行时。
在你的源代码中初始化你的safari驱动程序,如下所示:
if (browser.equals("safari")) {
SafariOptions safariOptions = new SafariOptions();
safariOptions.setUseCleanSession(true);
safariOptions.setUseTechnologyPreview(true);
driver = new SafariDriver(safariOptions);
}
然后导航到您想要的网址。在这里,我将添加一个示例源供您理解。
driver.get("https://www.google.com");
WebElement elem = driver.findElement(By.className("gb_P"));
jse = (JavascriptExecutor)driver;
jse.executeScript("arguments[0].click();", elem);
希望这能解决您的问题。请随时在此处发表评论以获取更多信息。