运行safari webdriver时,Javascriptexecutor无法正常工作

时间:2017-12-03 07:22:40

标签: selenium selenium-webdriver

我想使用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)。仍然无法正常工作

1 个答案:

答案 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);

希望这能解决您的问题。请随时在此处发表评论以获取更多信息。