0

我希望能够登录,然后访问我的个人资料页面以获取一些信息。登录效果很好,但是当我访问个人资料页面时,它没有正确显示,我要求再次登录。就像没有设置 cookie 或没有创建会话一样。我怎样才能做到这一点?

我还要提一下,该网站严重依赖框架和 Javascript,例如,它不适用于 mechanize。

require 'capybara-webkit'
require 'capybara/dsl'
require 'nokogiri'

include Capybara::DSL
Capybara.current_driver = :webkit_debug
Capybara.app_host = "https://site.com"
login = '/start.asp'
target = '/profile'

visit(login)

fill_in('user', :with => 'user)
fill_in('pass', :with => 'pass')
my_link = find(:xpath, '//*[@id="loginform"]/div/div[2]')
my_link.click

visit(target)
4

1 回答 1

0

我会尝试这样的事情:

require 'capybara'
session = Capybara::Session.new(:selenium)
session.visit("https://site.com/start.asp")
session.fill_in('user', :with => 'user')
session.fill_in('pass', :with => 'pass')
session.click_link 'Login'
...
session.visit("https://site.com/profile")

capybara github repo - 手动使用会话

作弊

于 2013-06-30T10:16:38.610 回答