2015-12-21 287 views
1

任何想法,如果我们有使用watir-webdriver API的Edge浏览器的官方支持?我可以用示例脚本启动Edge浏览器,但我无法与元素进行交互。我尝试了下面的代码,它没有设置文本字段。边缘浏览器支持

require 'watir-webdriver' 
$browser = Watir::Browser.new 'edge'  
$browser.goto('http://www.google.com') 
$browser.text_field(:name => 'q').set "hello" 

Error: 
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/response.rb:73:in `assert_ok': status code 501 

(Selenium::WebDriver::Error::ServerError) 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/http/common.rb:78:in `new' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/http/common.rb:78:in `create_response' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/http/default.rb:90:in `request' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/http/common.rb:59:in `call' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/bridge.rb:664:in `raw_execute' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/bridge.rb:642:in `execute' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/bridge.rb:229:in `switchToDefaultContent' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/common/target_locator.rb:100:in `default_content' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/watir-webdriver-0.9.1/lib/watir-webdriver/browser.rb:346:in `assert_exists' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/watir-webdriver-0.9.1/lib/watir-webdriver/elements/element.rb:561:in `ensure_context' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/watir-webdriver-0.9.1/lib/watir-webdriver/elements/element.rb:545:in `locate' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/watir-webdriver-0.9.1/lib/watir-webdriver/elements/element.rb:505:in `assert_exists' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/watir-webdriver-0.9.1/lib/watir-webdriver/user_editable.rb:32:in `clear' 
     from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/watir-webdriver-0.9.1/lib/watir-webdriver/user_editable.rb:11:in `set' 
     from test.rb:6:in `<main>' 
+1

'任何想法,如果我们有正式支持Edge浏览器使用watir-webdriver api.' - 这似乎更像是watir开发人员的支持问题。这可能会更好,因为这只是一个问题,为什么你的代码在Edge中不工作。 – BSMP

回答

1

在硒2.48,存在经由远程服务器使用Ruby的绑定(它的Watir确实)与边缘的问题。此问题已得到解决,但在Selenium 2.49发布之前无法使用。

还值得一提的是,Microsoft WebDriver for Edge仍然有点小错误,所以如果您没有收到目前收到的错误,您可能会收到各种其他错误。 :)

+0

感谢您的信息。 – skp24