首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium Webdriver无法创建chrome webdriver实例

Selenium Webdriver无法创建chrome webdriver实例
EN

Stack Overflow用户
提问于 2012-12-13 04:40:56
回答 3查看 2K关注 0票数 3

我们已经成功地在chrome和firefox上使用Selenium对Rails2进行了集成测试。然而,我们最近升级到了Rails3,在创建chrome webdriver实例时遇到了问题。

当我们尝试创建时,我们得到以下堆栈:

代码语言:javascript
复制
irb(main):002:0> profile = Selenium::WebDriver::Chrome::Profile.new
translate])#<Selenium::WebDriver::Chrome::Profile:0x64f2fd0 @extensions=[], @model=nil>
irb(main):003:0> profile['download.prompt_for_download'] = false
false
irb(main):004:0> driver = Selenium::WebDriver.for(:chrome, :profile  => profile,     :switches => %w[--ignore-certificate-errors --disable-popup-blocking --disable-translate])
ArgumentError: wrong number of arguments (0 for 1)
  from /var/www/myapp/shared/bundle/ruby/1.8/gems/selenium-webdriver-2.27.2/lib/selenium/webdriver/common/platform.rb:157:in `open'
  from /var/www/myapp/shared/bundle/ruby/1.8/gems/selenium-webdriver-2.27.2/lib/selenium/webdriver/common/platform.rb:157:in `ip'
    from /var/www/myapp/shared/bundle/ruby/1.8/gems/selenium-webdriver-2.27.2/lib/selenium/webdriver/common/platform.rb:170:in `interfaces'
    from /var/www/myapp/shared/bundle/ruby/1.8/gems/selenium-webdriver-2.27.2/lib/selenium/webdriver/common/port_prober.rb:23:in `free?'
    from /var/www/myapp/shared/bundle/ruby/1.8/gems/selenium-webdriver-2.27.2/lib/selenium/webdriver/common/port_prober.rb:5:in `above'
    from /var/www/myapp/shared/bundle/ruby/1.8/gems/selenium-webdriver-2.27.2/lib/selenium/webdriver/chrome/service.rb:33:in `default_service'
    from /var/www/myapp/shared/bundle/ruby/1.8/gems/selenium-webdriver-2.27.2/lib/selenium/webdriver/chrome/bridge.rb:14:in `initialize'
    from /var/www/myapp/shared/bundle/ruby/1.8/gems/selenium-webdriver-2.27.2/lib/selenium/webdriver/common/driver.rb:37:in `new'
    from /var/www/myapp/shared/bundle/ruby/1.8/gems/selenium-webdriver-2.27.2/lib/selenium/webdriver/common/driver.rb:37:in `for'
    from /var/www/myapp/shared/bundle/ruby/1.8/gems/selenium-webdriver-2.27.2/lib/selenium/webdriver.rb:67:in `for'
    from (irb):4

有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-18 07:21:20

当我将"backports“gem作为依赖项的一部分包含到我的Gemfile中时,我看到了这一点。backports gem重写了一些Ruby1.8内部机制,从而覆盖了UDPSocket核心类的一部分。试着摆脱后端的宝石,并给它一个机会。

票数 3
EN

Stack Overflow用户

发布于 2014-02-25 21:16:35

ChromeDriver安装:

从“http://chromedriver.storage.googleapis.com/index.html?path=2.8/”下载Chromedriver 2.x。解压并保存在任意驱动器上的文件夹中。通过以下步骤设置路径:

复制路径,直到chromedriver.exe在计算机上右击并选择‘属性’选择‘高级系统变量’选择‘环境变量’单击‘用户变量’的‘path’变量的编辑按钮追加chromedriver路径保存更改。

运行Selenium测试:

现在运行您的selenium测试。它将在chrome浏览器上运行。

示例代码

需要“selenium-webdriver”

$driver = Selenium::WebDriver.for :chrome

$driver.navigate.to "https://www.google.co.in/

$driver.manage().window().maximize()

$driver.quit()

备注:您需要为最新版本的Chrome浏览器安装最新的chromedriver

票数 1
EN

Stack Overflow用户

发布于 2013-01-15 13:34:30

这是由于与backports gem的冲突以及socket库重用IO.open这一事实造成的,尽管它更改了接口。

backports升级到v2.6.7 or above应该可以解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13848210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档