2017-12-03 342 views
0

我想使用javascriptexecutor执行点击操作。Javascriptexecutor在通过Safari浏览器运行时无法正常工作

JavasciptExecutor jse=(JavascriptExecutor) webDriver; 
jse.executescript("arguments[0].click();",webelement) 

虽然从Safari浏览器上运行,它显示在Chrome司机罚款 “undefined is not a function<evaluating arguments[0].click” 相同的作品。

我是否需要在启动webDriver时添加任何功能? 我已经添加capabilities.SetJavascriptEnabled(true)。仍然不起作用

+0

您可以提供该网站和一些额外的代码,例如您如何检索WebElement? – Marcel

回答

0

您必须设置驱动程序的功能browserwise。

在Safari浏览器中运行测试用例时,为浏览器设置了全局标志。你可以创建一个配置文件,并通过safari或chrome运行时添加“safari”或“chrome”。

在源初始化驱动程序,野生动物园象下面这样:

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

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

相关问题