Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 水豚刮网_Ruby On Rails_Ruby_Capybara - Fatal编程技术网

Ruby on rails 水豚刮网

Ruby on rails 水豚刮网,ruby-on-rails,ruby,capybara,Ruby On Rails,Ruby,Capybara,我正试着用水豚填写并提交表格。我有一个如下代码: session = Capybara::Session.new(:webkit) session.visit "https://login.microsoftonline.com/login.srf?wa=wsignin1.0&rpsnv=4&ct=1463412429&rver=6.1.6206.0&wp=MCMBI&wreply=https:%2F%2Fwebpooldb41e06.infra.lync

我正试着用水豚填写并提交表格。我有一个如下代码:

session = Capybara::Session.new(:webkit)
session.visit "https://login.microsoftonline.com/login.srf?wa=wsignin1.0&rpsnv=4&ct=1463412429&rver=6.1.6206.0&wp=MCMBI&wreply=https:%2F%2Fwebpooldb41e06.infra.lync.com%2FPassiveAuth%2FPassiveAuth.aspx%3FredirectUrl%3Dhttps%253a%252f%252fwebpooldb41e06.infra.lync.com%252fScheduler%252f&lc=1033&id=266537"
session.fill_in('cred_userid_inputtext', :with => 'my@email.com')
session.fill_in('cred_password_inputtext', :with => '12341234')
session.save_page
当我将此页面保存到文件并打开它时,我看到表单没有填写和提交


有什么想法吗?

您没有在代码中的任何地方调用submit。您只需填写字段值,然后调用保存页面。填写表单后,您需要添加一个
触发器('click')
方法来提交它。之后,您应该在会话中调用
current\u url
方法,查看它是否进入控制台的下一页。在ruby中,它只是:

puts session.current_url

如果一切都正确,您将在控制台中的表单提交后看到页面的新url。

在该代码的任何地方都不会调用submit。您只需填写字段值,然后调用保存页面。填写表单后,您需要添加一个
触发器('click')
方法来提交它。之后,您应该在会话中调用
current\u url
方法,查看它是否进入控制台的下一页。在ruby中,它只是:

puts session.current_url

如果一切正常,您将在控制台中看到表单提交后页面的新url。

#save#u page
保存页面的html,它不会保存更新的元素属性,这些属性在您填写文本字段时会更新
#save_屏幕截图
应显示填写的字段。

#save_页面
保存页面的html,它不保存在填写文本字段时更新的元素属性
#save_screenshot
应显示填写的字段。

如果改为
save_screenshot
会发生什么?如果改为
save_screenshot
会发生什么?