【问题标题】:Javascriptexecutor is not working while running through safari webdriver通过 safari webdriver 运行时 Javascriptexecutor 不工作
【发布时间】:2017-12-03 07:22:39
【问题描述】:

我想使用 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)。还是不行

【问题讨论】:

  • 您能否提供网站和一些附加代码,例如您如何检索 WebElement?

标签: selenium selenium-webdriver


【解决方案1】:

您必须设置驱动程序浏览器的功能。

在 Safari 浏览器中运行测试用例时,为浏览器设置一个全局标志。您可以创建一个配置文件并在通过 safari 或 chrome 运行时添加“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);

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

【讨论】:

    猜你喜欢
    • 2021-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多