admin管理员组文章数量:1435859
For some reason, I cannot execute any javascript using "executescript" when I run my functional tests through IE. It works with Firefox. I have searched several hours on google with no luck.
I am simply calling
browser.driver.executeScript("console.log('test');")
or
JavascriptExecutor js = (JavascriptExecutor) driver
driver.executeScript("console.log('test');")
or whatever variation you please to call the executeScript method.
The stacktrace I am getting is:
org.openqa.selenium.WebDriverException: JavaScript error (WARNING:
The server did not provide any stacktrace information)
Command duration or timeout: 164 milliseconds
Build info: version: '2.37.1', revision: 'a7c61cbd68657e133ae96672cf995890bad2ee42',
time: '2013-10-21 09:08:07'
System info: host: 'functionalTests', ip: '10.22.6.112', os.name: 'Windows 8', os.arch:
'x86', os.version: '6.2', java.version: '1.6.0_45'
Session ID: 8b04c740-07a0-4678-a1b6-aacd56268625
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
Capabilities [{platform=WINDOWS, javascriptEnabled=true, elementScrollBehavior=0,
enablePersistentHover=true, ignoreZoomSetting=false, ie.ensureCleanSession=false,
browserName=internet explorer, enableElementCacheCleanup=true,
unexpectedAlertBehaviour=dismiss, version=11, ie.usePerProcessProxy=false,
cssSelectorsEnabled=true, ignoreProtectedModeSettings=false, requireWindowFocus=false,
initialBrowserUrl=http://localhost:17553/, handlesAlerts=true,
ie.forceCreateProcessApi=false, nativeEvents=true, browserAttachTimeout=0,
ie.browserCommandLineSwitches=, takesScreenshot=true}]
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)
at
org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)
at
org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:463)
at functional.utility.JQInstaller.installJQ(JQInstaller.groovy:16)
at functional.spec.NavigateAccountSettingsSpec.Navigate to the Account
Settings(NavigateAccountSettingsSpec.groovy:39)
It is not a problem with my "JQInstaller" class, because I took that out and just tried console.log functions. It is a problem with this "executeScript" method. I am using Selenium 2.37.1.
For some reason, I cannot execute any javascript using "executescript" when I run my functional tests through IE. It works with Firefox. I have searched several hours on google with no luck.
I am simply calling
browser.driver.executeScript("console.log('test');")
or
JavascriptExecutor js = (JavascriptExecutor) driver
driver.executeScript("console.log('test');")
or whatever variation you please to call the executeScript method.
The stacktrace I am getting is:
org.openqa.selenium.WebDriverException: JavaScript error (WARNING:
The server did not provide any stacktrace information)
Command duration or timeout: 164 milliseconds
Build info: version: '2.37.1', revision: 'a7c61cbd68657e133ae96672cf995890bad2ee42',
time: '2013-10-21 09:08:07'
System info: host: 'functionalTests', ip: '10.22.6.112', os.name: 'Windows 8', os.arch:
'x86', os.version: '6.2', java.version: '1.6.0_45'
Session ID: 8b04c740-07a0-4678-a1b6-aacd56268625
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
Capabilities [{platform=WINDOWS, javascriptEnabled=true, elementScrollBehavior=0,
enablePersistentHover=true, ignoreZoomSetting=false, ie.ensureCleanSession=false,
browserName=internet explorer, enableElementCacheCleanup=true,
unexpectedAlertBehaviour=dismiss, version=11, ie.usePerProcessProxy=false,
cssSelectorsEnabled=true, ignoreProtectedModeSettings=false, requireWindowFocus=false,
initialBrowserUrl=http://localhost:17553/, handlesAlerts=true,
ie.forceCreateProcessApi=false, nativeEvents=true, browserAttachTimeout=0,
ie.browserCommandLineSwitches=, takesScreenshot=true}]
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)
at
org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)
at
org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:463)
at functional.utility.JQInstaller.installJQ(JQInstaller.groovy:16)
at functional.spec.NavigateAccountSettingsSpec.Navigate to the Account
Settings(NavigateAccountSettingsSpec.groovy:39)
It is not a problem with my "JQInstaller" class, because I took that out and just tried console.log functions. It is a problem with this "executeScript" method. I am using Selenium 2.37.1.
Share Improve this question asked Dec 31, 2013 at 18:17 jcdjcd 2315 silver badges15 bronze badges 11- 2 What version of IE are you using? IE8 and below do not have console.log – Paul Harris Commented Dec 31, 2013 at 19:43
- I am using 9,10, and 11 – jcd Commented Jan 2, 2014 at 16:30
- 1 @elgalu, We have no missing resources on that page. Bummer, I was hoping that would be it. – jcd Commented Jan 25, 2014 at 0:50
- 1 I have the same issue, using Selenium 2.40.0, I reported it: code.google./p/selenium/issues/… – Fried Hoeben Commented Mar 27, 2014 at 13:26
-
1
You say "nothing works," but your example will error if the F12 Developer Tools window is not open (accessing "console.<anything>" if the F12 tools aren't open throws an error in at least IE < 10). What happens if you do something like
js.executeScript("return 1+1;");
? – JimEvans Commented Mar 27, 2014 at 18:27
2 Answers
Reset to default 1Have you tried the Enumerable version?
IJavaScriptExecutor js = WebDriver.driver as IJavaScriptExecutor;
if (js != null) {
value = (string)js.ExecuteScript(javascriptArgumentAsString, element);
}
IE 7 and below do not have console.log.
IE 8, 9 and 10 have it but dev tools must be open. Open these with F12.
IE 11 works fine.
Each IE browser has a script debug window which can be activated in IE tools menu. This would have caused an alert to show you the reason for failure in older IE browsers.
If you want extra help understanding this look here: Specifically at Walter's answer for an excellent solution
本文标签: javascriptexecutescript not working with InternetExplorer driver (Selenium)Stack Overflow
版权声明:本文标题:javascript - executescript not working with InternetExplorer driver (Selenium) - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745674765a2669785.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论