MrA*_*oIt 6 phantomjs selenium-webdriver ruby-on-rails-4
我正在测试使用Ruby on Rails中的phantomjs运行selenium webdriver.我在我的电脑上进行本地测试.
当我运行"ruby test.rb"时,以下代码在我的测试Ruby脚本中运行正常
def google_title
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :phantomjs
driver.navigate.to "https://www.google.com"
page_title = driver.title
puts page_title
end
google_title
Run Code Online (Sandbox Code Playgroud)
我在application_controller.rb文件中有相同的代码:
def google_title
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :phantomjs
driver.navigate.to "https://www.google.com"
page_title = driver.title
render text: page_title
end
Run Code Online (Sandbox Code Playgroud)
但是,当我运行我的应用程序时,我得到一个"无法加载此类文件 - selenium-webdriver"错误.
我已将此添加到我的Gemfile并运行bundle install但得到相同的错误.
gem 'selenium-webdriver', '~> 2.45'
Run Code Online (Sandbox Code Playgroud)
当我运行gem list --local时,它会显示selenium已安装.
任何帮助,将不胜感激.
更新:
我运行几乎完全相同的代码,但使用watir-webdriver并获得相同的结果.Ruby脚本运行正常,但当我试图从Rails运行时,为watir-webdriver提供了"无法加载此类文件"错误.
我用nokogiri进行了另一次测试,效果很好.它既是自我又是Rails.
UPDATE2:
它似乎是我正在做的事情,而不是我的测试环境.我刚刚在在线IDE上运行相同的代码并得到了相同类型的错误:
UPDATE3:
以下是使用watir-webdriver和headless运行测试时application_controller.rb文件的完整内容.我得到了相同的结果.也许我在这里设置错了?
class ApplicationController < ActionController::Base
def google_title
require 'watir-webdriver'
require 'headless'
headless = Headless.new
headless.start
b = Watir::Browser.start 'www.google.com'
page_title = b.title
b.close
headless.destroy
render text: page_title
end
end
Run Code Online (Sandbox Code Playgroud)
小智 0
您是否重新启动了 webrick、puma ...服务器?
奇迹般有效。
gem 'selenium-webdriver', '~> 2.45'
bundle install
在苹果机上:
brew install phantomjs
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
#no need for require
def google_title
driver = Selenium::WebDriver.for :phantomjs
driver.navigate.to "https://www.google.com"
page_title = driver.title
render text: page_title
end
end
Run Code Online (Sandbox Code Playgroud)
路线.rb:
get 'google-title' => 'application#google_title'
http://127.0.0.1:3000/google-title
Run Code Online (Sandbox Code Playgroud)
结果谷歌
| 归档时间: |
|
| 查看次数: |
1493 次 |
| 最近记录: |