Tôi đang thử chạy selenium webdriver với phantomjs từ Ruby on Rails. Tôi đang thử nghiệm cục bộ trên máy tính của mình.Ruby on Rails không thể tải tập tin như vậy - selenium-webdriver Lỗi
Các mã sau chạy tốt trong thử nghiệm của Ruby kịch bản của tôi khi tôi chạy "ruby test.rb"
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
Tôi có khá nhiều cùng mã trong tập tin application_controller.rb tôi:
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
Nhưng khi tôi chạy ứng dụng của tôi, tôi nhận được lỗi "không thể tải tệp như vậy - selenium-webdriver".
Tôi đã thêm này để Gemfile của tôi và chạy gói cài đặt nhưng gặp phải lỗi tương tự.
gem 'selenium-webdriver', '~> 2.45'
Khi tôi chạy danh sách đá quý - cục bộ, nó hiển thị selen được cài đặt.
Mọi trợ giúp sẽ được đánh giá cao.
Cập nhật:
tôi chạy gần như chính xác mã tương tự như trên nhưng với watir-webdriver và nhận được kết quả tương tự. Các kịch bản Ruby chạy tốt bởi nó là tự nhưng đã đưa ra một "không thể tải tập tin như vậy" lỗi cho watir-webdriver khi tôi đã cố gắng để chạy nó từ Rails.
Tôi đã chạy một thử nghiệm khác với nokogiri và nó hoạt động tốt. Cả hai đều là bản thân và trong Rails.
Update2:
Nó dường như là một cái gì đó tôi đang làm và không phải môi trường thử nghiệm của tôi. Tôi chỉ cần chạy cùng mã trên một IDE trực tuyến và nhận được cùng một loại lỗi:
UPDATE3:
Dưới đây là toàn bộ nội dung của tập tin application_controller.rb khi tôi chạy thử nghiệm với watir-webdriver và không đầu. Tôi nhận được kết quả tương tự. Có lẽ tôi đang thiết lập một cái gì đó sai ở đây?
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
Tôi không thể tạo lại vấn đề này. Tôi đã thử các bước tương tự chính xác và cài đặt phiên bản 'selenium-webdriver'' 2.53.0' và nó hoạt động như một sự quyến rũ. –
Lạ. Tôi đã thêm toàn bộ nội dung của tệp application_controller.rb chỉ để đảm bảo rằng tôi không thiếu gì đó đơn giản. – MrAutoIt
https://github.com/firangistan/webdriver-test Kiểm tra xem ứng dụng này có phù hợp với bạn không. –