2017-12-03 341 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); 

希望這能解決您的問題。歡迎在此發表評論以獲取更多信息。

相關問題