问题标签 [mechanize-ruby]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用 Mechanize rubygem 处理 javascript onchange 事件
我一直在尝试编写一个从我的大学网站获取结果的脚本。有人建议我使用 Mechanize,它看起来确实很有希望。
为了获得结果,必须首先输入卷号,然后选择会话。使用 Mechanize 模拟第一部分很容易,但是在第二部分中我遇到了问题,因为它实际上是一个 JavaScriptonchange
事件。
我阅读了 JavaScript 中的函数定义,这就是我迄今为止想出的。Mechanize 无法处理 onchange 事件,而且当我手动传递由 JavaScript 函数实际更改的值时,会返回相同的页面。
这是javascript代码
我在firebug中设置了一个断点,发现值为__EVENTTARGET
'Dt1',而__EVENTARGUMENT
保持''。
我为此编写的 ruby 脚本是
谁能告诉我我做错了什么?
ruby - Ruby 机械化:点击链接
在 Ruby 上的 Mechanize 中,我必须为我来到的每个新页面分配一个新变量。例如:
有没有办法在没有变量保存每个页面状态的情况下运行 Mechanize?像
ruby-on-rails - Rails mechanize 无法访问需要登录的页面
我正在尝试单击使用 Rails + Mechanize 登录后出现的链接,但它返回“应该启用 Cookie”。我检查了 Mechanize 对象mechanize.cookie_jar.save_as('cookies.yml')
(但我无法登录。
为什么它对我不起作用?
ruby - Ruby 1.9.3 编码问题上的机械化
使用以下代码(来自 Mechanize 站点,但在 rake 任务中)..
我收到编码错误..
这是在使用以下内容时:
ruby-on-rails - ruby mechanize + https 链接导致 ruby 段错误(安装了 rvm)
我按照指南中指定的说明使用 mechanize,但是当我尝试获取 HTTPS 页面时,我得到了一个段错误。
我想知道我是否以某种方式错误地配置了 rvm,但我不知道如何测试它。我的顶级 .rvmrc 中也有这个,如果有帮助的话
我不认为这是一个红宝石错误,因为没有其他人在 https 页面上调用 get 时遇到问题,但我不知道如何调试它。
编辑:原来它实际上是由与 Rails 的交互引起的。当我直接去 IRB 时它工作正常,但 rails 控制台没有。
ruby - 如何从 Mechanize::Page 的搜索方法中获取 Mechanize 对象?
我正在尝试抓取一个站点,我只能依靠类和元素层次结构来找到正确的节点。但是使用我不能用来填写和提交表格等的Mechanize::Page#search
returns 。Nokogiri::XML::Element
_with
我真的很想使用纯 CSS 选择器,但使用各种方法匹配类似乎也很简单。然而,与简单地使用 CSS 选择器相比,匹配之类的东西:not(.class)
相当冗长,而我不知道如何匹配元素层次结构。
有没有办法将 Nokogiri 元素转换回 Mechanize 对象,或者甚至更好地直接从search
方法中获取它们?
ruby - 机械化前/后连接挂钩
使用 Mechanize,我需要找到某种方法将请求限制为每秒 1 个(或每 5 秒 1 个,或每分钟 2 个,等等,关键是找到某种方法来限制请求的速率)。
搜索,这似乎是开始解决问题的方法:前/后连接钩子。只有我不完全知道如何处理它们或如何处理,我从我的水平和研究猜测我需要做一个 lambda 或 proc 说'嘿等一下',似乎足够基本。
我的问题基本上是关于如何做到这一点的一个例子或另一个线索。我尝试了几个 lambdas(而且我对这到底会做什么的理解程度很低):
但这只会将我的请求变成错误:
到目前为止,即使开始阅读机械化代码对我的影响也很小。
任何输入和学习指导表示赞赏。
ruby - 调节/限速红宝石机械化
我需要调节 Mechanize 实例与 API 连接的频率(每 2 秒一次,因此限制连接到该 API 或更多)
所以这:
我原以为这会起作用,但现在该类中的每个方法都休眠了 2 秒,就好像触摸了机械化实例并被告知要保持 2 秒一样。我将尝试一个 post connect 钩子,但很明显我需要一些更详细的东西,但我现在不知道是什么。
代码是更多的解释,所以如果你有兴趣跟随:https://github.com/blueblank/reddit_modbot,否则我的问题是如何有效和有效地将 Mechanize 实例限制在 API 指定的特定时间范围内(其中超出该限制会导致请求和禁令丢失)。另外,我猜我还需要更好地将机械化实例集成到我的班级中,对此的任何指针也很感激。
ruby - Ruby Mechanize 在响应中忽略 cookie
我正在通过网站玩 Ruby Mechanize。但似乎它忽略了响应中的 set-cookie 标头之一。请查看我的代码和结果。u=__LOGOUT__
agent.cookies 的结果中缺少该部分。为什么?谢谢。
这是我执行上面代码时的结果。
ruby - 使用Ruby Mechanize模拟Flash上传文件
我想使用 Ruby Mechanize 为网站编写自动文件上传脚本。但是网站的读取上传步骤是通过 Flash 文件完成的。我使用fiddler捕获了从 Flash 文件到服务器的流量。就这个。
我的问题是如何模拟这个帖子请求?目前我能想到的是自己创建一个表单并添加一个类型为file的输入元素。然后提交带有自定义标题(如用户代理等)的表单。但是我仍然很难处理文件上传部分。任何人都可以帮助我吗?谢谢!