Discussion:
[wtr-general] "Underlying webdriver instance does not support javascript" - when performing element.flash or fire_event
MarkD
2017-09-06 14:47:28 UTC
Permalink
I first posted my question on the Microsoft developers website:
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/13599112/

But then realized it was a Watir action I performed (fire_event and
element.flash) when this error was shown.
Below an example of the error I get without using this lapis_lazuli gem,
but just use watir.

My setup:

- Ruby 2.3.3 (32 bit)
- Watir (6.8.3)
- Selenium-webdriver (3.5.1)
- Selenium-Standalone-Server hub and node version 3.5.0 (and 3.5.3)
- Edge browser (and driver) version 15.15063
- All drivers and hub/node are running on my localhost in this example,
but normally I run this in the cloud

*When I perform these actions in irb:*
require 'watir'
caps = WebDriver::Remote::Capabilities.new
caps[:browserName] = "MicrosoftEdge"
browser = Watir::Browser.new(
:remote,
:url => "http://localhost:4444/wd/hub",
:desired_capabilities => caps)

browser.goto "https://www.google.com"
element = browser.input(:id => 'lst-ib')
element.flash

*I get the following error*
irb(main):008:0* browser = Watir::Browser.new(
irb(main):009:1* :remote,
irb(main):010:1* :url => url,
irb(main):011:1* :desired_capabilities => caps)
You can now pass values directly into Watir::Browser opt without needing to
use :desired_capabilities
=> #<Watir::Browser:0x..fd0daf7f6 url="about:blank" title="">
irb(main):012:0>
irb(main):013:0* browser.goto "https://www.google.com"
=> "https://www.google.com"
irb(main):014:0> element = browser.input(:id => 'lst-ib')
=> #<Watir::Input: located: false; {:id=>"lst-ib", :tag_name=>"input"}>
irb(main):015:0> element.flash
Selenium::WebDriver::Error::UnsupportedOperationError: underlying webdriver
instance does not support javascript
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/remote/oss/bridge.rb:569:in
`assert_javascript_enabled'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/remote/oss/bridge.rb:267:in
`execute_script'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/common/driver.rb:213:in
`execute_script'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.8.1/lib/watir/browser.rb:265:in
`execute_script'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.8.1/lib/watir/js_snippets.rb:12:in
`execute_js'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.8.1/lib/watir/js_execution.rb:48:in
`block in flash'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.8.1/lib/watir/elements/element.rb:678:in
`element_call'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.8.1/lib/watir/js_execution.rb:48:in
`flash'
from (irb):15
from C:/Ruby23/bin/irb.cmd:19:in `<main>'
irb(main):016:0>

Using actions like element.click or element.send_keys("test") all works
fine.
Also *when I use Watir version 6.2.1, selenium-webdriver 3.4.0 and
selenium-standalone-server 3.4.0 (hub and node), this all works like a
charm.*
Another side note is that Chrome and FF have no issues, no matter if I use
3.4.0 or 3.5.0. It seems limited to Edge.

My main questions are:

1. If I did something wrong, how can I resolve it?
2. If it is an issue, is it a Watir issue?
3. If it's not an issue, can someone tell me if this is a Selenium issue
or a Edgewebdriver issue?
--
--
Before posting, please read http://watir.com/support. In short: search before you ask, be nice.

watir-***@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+***@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "Watir General" group.
To unsubscribe from this group and stop receiving emails from it, send an email to watir-general+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
MarkD
2017-09-06 14:57:29 UTC
Permalink
I tried several watir gems, but all failed.
And a small correction on the setup.
The Watir version I used in my example was version 6.8.1 not version 6.8.3
Post by MarkD
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/13599112/
But then realized it was a Watir action I performed (fire_event and
element.flash) when this error was shown.
Below an example of the error I get without using this lapis_lazuli gem,
but just use watir.
- Ruby 2.3.3 (32 bit)
- Watir (6.8.3)
- Selenium-webdriver (3.5.1)
- Selenium-Standalone-Server hub and node version 3.5.0 (and 3.5.3)
- Edge browser (and driver) version 15.15063
- All drivers and hub/node are running on my localhost in this
example, but normally I run this in the cloud
*When I perform these actions in irb:*
require 'watir'
caps = WebDriver::Remote::Capabilities.new
caps[:browserName] = "MicrosoftEdge"
browser = Watir::Browser.new(
:remote,
:url => "http://localhost:4444/wd/hub",
:desired_capabilities => caps)
browser.goto "https://www.google.com"
element = browser.input(:id => 'lst-ib')
element.flash
*I get the following error*
irb(main):008:0* browser = Watir::Browser.new(
irb(main):009:1* :remote,
irb(main):010:1* :url => url,
irb(main):011:1* :desired_capabilities => caps)
You can now pass values directly into Watir::Browser opt without needing
to use :desired_capabilities
=> #<Watir::Browser:0x..fd0daf7f6 url="about:blank" title="">
irb(main):012:0>
irb(main):013:0* browser.goto "https://www.google.com"
=> "https://www.google.com"
irb(main):014:0> element = browser.input(:id => 'lst-ib')
=> #<Watir::Input: located: false; {:id=>"lst-ib", :tag_name=>"input"}>
irb(main):015:0> element.flash
Selenium::WebDriver::Error::UnsupportedOperationError: underlying
webdriver instance does not support javascript
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/remote/oss/bridge.rb:569:in
`assert_javascript_enabled'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/remote/oss/bridge.rb:267:in
`execute_script'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/common/driver.rb:213:in
`execute_script'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.8.1/lib/watir/browser.rb:265:in
`execute_script'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.8.1/lib/watir/js_snippets.rb:12:in
`execute_js'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.8.1/lib/watir/js_execution.rb:48:in
`block in flash'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.8.1/lib/watir/elements/element.rb:678:in
`element_call'
from
C:/Ruby23/lib/ruby/gems/2.3.0/gems/watir-6.8.1/lib/watir/js_execution.rb:48:in
`flash'
from (irb):15
from C:/Ruby23/bin/irb.cmd:19:in `<main>'
irb(main):016:0>
Using actions like element.click or element.send_keys("test") all works
fine.
Also *when I use Watir version 6.2.1, selenium-webdriver 3.4.0 and
selenium-standalone-server 3.4.0 (hub and node), this all works like a
charm.*
Another side note is that Chrome and FF have no issues, no matter if I use
3.4.0 or 3.5.0. It seems limited to Edge.
1. If I did something wrong, how can I resolve it?
2. If it is an issue, is it a Watir issue?
3. If it's not an issue, can someone tell me if this is a Selenium
issue or a Edgewebdriver issue?
--
--
Before posting, please read http://watir.com/support. In short: search before you ask, be nice.

watir-***@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+***@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "Watir General" group.
To unsubscribe from this group and stop receiving emails from it, send an email to watir-general+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Titus Fortner
2017-09-06 15:49:02 UTC
Permalink
That's a selenium bug. Edge uses a weird combination of oss and w3c protocols, and my approach to accommodating it has some flaws. Can you raise an issue on selenium github? & Tag me. I've been avoiding looking at that code for too long.
--
--
Before posting, please read http://watir.com/support. In short: search before you ask, be nice.

watir-***@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+***@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "Watir General" group.
To unsubscribe from this group and stop receiving emails from it, send an email to watir-general+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
MarkD
2017-09-07 06:59:18 UTC
Permalink
Hi Titus, Thanks for your fast reply. I'll do that.
Just to be sure, you mean a selenium-webdriver bug right?
Or did you mean a selenium-standalone-server bug?
Post by Titus Fortner
That's a selenium bug. Edge uses a weird combination of oss and w3c
protocols, and my approach to accommodating it has some flaws. Can you
raise an issue on selenium github? & Tag me. I've been avoiding looking at
that code for too long.
--
--
Before posting, please read http://watir.com/support. In short: search before you ask, be nice.

watir-***@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+***@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "Watir General" group.
To unsubscribe from this group and stop receiving emails from it, send an email to watir-general+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
MarkD
2017-09-07 07:36:09 UTC
Permalink
https://github.com/SeleniumHQ/selenium/issues/4651
Post by MarkD
Hi Titus, Thanks for your fast reply. I'll do that.
Just to be sure, you mean a selenium-webdriver bug right?
Or did you mean a selenium-standalone-server bug?
Post by Titus Fortner
That's a selenium bug. Edge uses a weird combination of oss and w3c
protocols, and my approach to accommodating it has some flaws. Can you
raise an issue on selenium github? & Tag me. I've been avoiding looking at
that code for too long.
--
--
Before posting, please read http://watir.com/support. In short: search before you ask, be nice.

watir-***@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+***@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "Watir General" group.
To unsubscribe from this group and stop receiving emails from it, send an email to watir-general+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...