草庐IT

mechanize

全部标签

ruby-on-rails - 使用 Mechanize 在 html 页面中查找字符串

我正在尝试查找给定的字符串,假设“Hello”存在于给定的页面中。到目前为止,我有以下内容:agent=Mechanize.newpage=agent.get('http://www.google.de/')我现在该怎么办?我见过搜索方法,但它只接受XPath/CSS表达式。我可以尝试使用xpath来搜索,但是有没有更好的方法? 最佳答案 您可以简单地进行一般文本搜索:page.body.include?('Hello')然而,在搜索特定的html节点时,我建议使用这样的css选择器:page.parser.css('#my_con

ruby - Mechanize : Select link by classname and other questions

目前我正在查看Mechanize。我是Ruby的新手,所以请耐心等待。我写了一个小测试脚本:require'rubygems'require'mechanize'agent=WWW::Mechanize.newpage=agent.get('http://www.google.de')pppage.titlegoogle_form=page.form_with(:name=>'f')google_form.q='test'page=agent.submit(google_form)pppage.titlepage_links=Array.newpage.links.eachdo|ll|

ruby - 使用 Mechanize for Ruby 抓取 Akamai 控制面板的屏幕 - Cookies 问题

我正尝试从Akamai的控制面板中抓取一些数据,但在通过mechanizeforRuby登录页面时遇到问题。require'rubygems'require'mechanize'agent=Mechanize.newurl='http://control.akamai.com'page=agent.get(url)putspage.content检查页面后,我发现显示:"Cookiesupporthasbeendisabledinyourbrowser.Pleaseenablecookiesbeforecontinuing."页面认为我禁用了cookie的事实阻止我登录。有什么想法吗?

ruby - 如何使用 ruby​​/mechanize 在表单中选择下拉列表的值

如何在此下拉列表中选择第二个选项?PleaseSelectanOptionABCDFGHIJrubyrequire'rubygems'require'mechanize'url="http://...."agent=Mechanize.newpage=agent.get(url)form=agent.page.forms.first*selectdropdown* 最佳答案 form.field_with(:name=>'size').options[1].click 关于ruby-如何

ruby - 如何在 Ruby 中使用 mechanize 执行 Head 请求

我可以使用Faraday(Faraday.headurl)执行HEAD请求,但我在当前项目中使用Mechanize。我想在不下载文件的情况下从标题(文件名)中获取一个值。Mechanizegem是否提供这样的选项?我正在使用v2.0。 最佳答案 就像get但它是head:page=agent.head'http://www.google.com/'page.body.length#=>0page.header.keys#=>["date","expires","cache-control","content-type","set-c

ruby - 使用 Ruby Mechanize 下载文件

我正在尝试使用mechanize保存文件。我包含的脚本使我能够下载名称正确但没有内容的文件。关于我可能做错了什么的任何想法?这是我正在使用的资源。http://www.rubydoc.info/gems/mechanize/Mechanize/File任何帮助都会很棒!谢谢!require'mechanize'uri=URI'http://website.com/page.html'file=Mechanize::File.newuri,nil,''filename=file.saveputsfilename 最佳答案 mecha=

ruby - 使用 Ruby WWW::Mechanize 时忽略 Iconv::IllegalSequence

我在使用mechanize库时在某些网页上遇到了Iconv::IllegalSequence错误。有没有办法让Mechanize只是忽略错误编码的字符并返回“剪切”页面?我知道relatedthread,但我宁愿丢弃页面上的一些字符,然后重新实现编码猜测。时间差 最佳答案 解决办法是把util.rb中的第40行改成Iconv.iconv(code,"UTF-8",s).join("")到Iconv.iconv("#{code}//IGNORE","UTF-8",s).join("")或Iconv.conv("#{code}//IGN

ruby - 如何从 Mechanize::Page 的搜索方法中获取 Mechanize 对象?

我正在尝试抓取一个只能依靠类和元素层次结构来找到正确节点的站点。但是使用Mechanize::Page#search返回Nokogiri::XML::Element,我不能用它来填写和提交表单等。我真的很想使用纯CSS选择器,但是使用各种_with方法匹配类似乎也非常简单。但是,与简单地使用CSS选择器相比,匹配:not(.class)之类的东西非常冗长,而我不知道如何匹配元素层次结构。有没有办法将Nokogiri元素转换回Mechanize对象,或者甚至更好地直接从search方法中获取它们? 最佳答案 如前所述inthisans

ruby - 如何使用 Ruby Mechanize 设置 POST 请求的主体?

如何使用RubyMechanizegem设置POST请求的主体。我知道你能做到mechanize.post(url,query,headers)但我想用JSON字符串设置POST请求的主体。那可能吗?因此,类似于jQuery中的类似内容:$.ajax({type:'POST',url:'myurl',data:"{'key1':'value1','key2':'value2'}",...}); 最佳答案 我不太喜欢您在评论中链接到的答案,因为它使用了to_json()这是一种rails方法,并且您问题的标签并不表示您的问题与rail

ruby - 在 Ruby 中使用 Mechanize 的 SelectList

我正在尝试使用MechanizewithRuby设置选择列表的值。我可以导航到带有选择列表的页面,使用.form方法抓取表单,然后找到选择列表。report_form=page.form('form1')ppreport_form.field_with(:name=>"report_type")正确返回正确的对象。但是,我仍然无法设置该字段的值!我试过:report_form.field_with(:name=>"report_type").options.first.selectreport_form.field_with(:name=>"report_type").options[