【发布时间】:2015-03-07 05:57:49
【问题描述】:
从 Selenium 切换到 PhantomJs/Poltergeist 时,我不断收到此错误。
有人知道我在做什么错吗?如果我将驱动程序切换到 selenium,则脚本可以完美运行。每当我注释掉 default_driver = :selenium 并替换为 javascript_driver = :poltergeist 时,我都会遇到此错误。
initialize': rack-test requires a rack application, but none was given (ArgumentError)
这一切都在一个 ruby 文件中,没有 rails。
require 'rubygems'
require 'capybara'
require 'capybara/dsl'
require "open-uri"
# require "date"
# require 'active_support/core_ext/integer/inflections'
require 'capybara/poltergeist'
# require 'selenium-webdriver'
require 'pry'
require 'phantomjs'
# require 'database_cleaner'
Capybara.run_server = false
Capybara.javascript_driver = :poltergeist
# Capybara.default_driver = :selenium
Capybara.app_host = 'https://www.sameplsite.com'
module MyCapybaraTest
class Test
include Capybara::DSL
def login_site
visit('https://www.sameplsite.com')
# binding.pry
click_link('Log in')
fill_in('email', :with => 'joefrank@sharklasers.com')
fill_in('password', :with => 'passwordpassword')
check('checkbox_remember')
click_button('Log in')
end
def click_right_game
click_link('Create Contest')
all('.boxed')[1].click
check('Free practice')
click_link('Create 1 Head-to-Head')
save_and_open_page
end
def output_game_link
url = URI.parse(current_url)
puts url
end
end
end
t = MyCapybaraTest::Test.new
t.login_fanduel
t.click_right_game
t.output_game_link
【问题讨论】:
标签: ruby selenium web-scraping phantomjs poltergeist