问题标签 [mechanize]

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.

0 投票
2 回答
2536 浏览

ruby - 用浏览器登录然后 ruby​​/mechanize 接管它?

这甚至可能吗?我需要通过什么来实现机械化?那我可以从什么网址开始?

我无法(到目前为止)使用 mechanize 登录到一个网站,所以我在想我是否可以做这个小解决方法。我相信我可以捕获所有 cookie 和其他所有内容,然后将其传递给 ruby​​/mechanize 以完成其余的工作......

下面的屏幕截图是使用 firebug 制作的(Firebug 记录 POST 或 GET 请求,响应标头

有效的登录=只有一行

有效的登录=只有一行

和用于登录的 html 有效

登录对我不起作用

登录对我不起作用

它是html

在这两种情况下,我的脚本几乎相同。

机械化登录无效的日志

0 投票
1 回答
1355 浏览

ruby - 如何捕获然后将 cookie 传递给 Ruby/Mechanize(登录的解决方法)?

这个问题与我的另一个问题“使用浏览器登录然后 ruby​​/mechanize 接管它? ”相关联。

我无法使用 Ruby/Mechanize 登录到一个网站,所以我在想是否有任何用于登录部分的解决方法。在那之后,我希望我的脚本接管并完成它的工作。

有人可以建议什么是最好/最简单的方法:

  • 捕获所有信息(cookies,我还需要什么)?
  • 将其传递给 Ruby/Mechanize?
0 投票
1 回答
18434 浏览

python - 如何在 Python 中将 cookie 添加到现有的 cookielib CookieJar 实例?

我有一个与机械化一起使用的 CookieJar,我想在其中添加一个 cookie。我该怎么做呢?make_cookie() 和 set_cookie() 对我来说还不够清楚。

0 投票
2 回答
5877 浏览

ruby - 如何将新字段添加到机械化表单(红宝石/机械化)

有一个公共类方法可以添加字段以机械化表单

我试过 ..

两者都给了我一个错误undefined method "new" for #<WWW::Mechanize::Form::Field:0x3683cbc> (NoMethodError)

我试过login_form.field.new('auth_login','Login')这给了我一个错误

但当时我提交表格。html 源中不存在该字段。我想添加它,以便我的脚本发送的 POST 查询将包含auth_username=myusername&auth_password=mypassword&auth_login=Login到目前为止它只发送auth_username=radek&auth_password=mypassword这可能是我无法登录的原因。只是我的想法。

脚本看起来像

表单的 .inspect 看起来像

0 投票
3 回答
8054 浏览

ruby - Ruby - 机械化:按类名和其他问题选择链接

目前我正在看机械化。我对Ruby很陌生,所以请耐心等待。

我写了一个小测试脚本:

这行得通。但page_links不仅包括搜索结果。它还包括 google 链接,如登录、图片、... 结果链接拥有一个样式类“1”。是否可以只选择类 == 1 的链接?我如何实现这一目标?

是否可以修改“代理别名”?如果我拥有一个网站,包括谷歌分析或其他东西,我会在 ga 中看到什么浏览器客户端与我的网站上的 mechanize 一起使用?

我可以通过 ID 而不是名称来选择元素吗?我试着用

但这不起作用。

0 投票
2 回答
1321 浏览

ruby - Facebook 上的 ruby​​ 机械化

我正在尝试单击主页上的“设置”按钮,但是当我这样做时,我会返回此页面:

这是..有点空!这些 iframe 和框架的东西可能有问题吗?

0 投票
2 回答
780 浏览

python - python机械化代理问题

我已经进行了机械化设置并使用了 python。我正在添加对使用代理的支持,但是如何检查我是否实际使用了代理?

这是我正在使用的一些代码:

我开始怀疑它是否有效,因为只是为了进行一些测试,我输入了:

它没有抛出错误。那么我该如何检查它是否真的使用了我传入的代理的 IP 地址或我的计算机的 IP 地址?有没有办法在机械化中返回您的 ip 信息?

0 投票
1 回答
2118 浏览

ruby-on-rails - 机械化无法通过 CSS 选择器方法识别锚标签

(希望这不是违反礼仪:我在 RailsForum 上发布了这篇文章,但最近我没有得到太多回应。)

有没有其他人遇到过 Mechanize 无法通过 CSS 选择器识别锚标签的问题?

HTML 看起来像这样(为清楚起见,删除了空格的片段):

我正在尝试从这些事件中收集数据。除了在<p>. 里面显然有一个<a>标签<b>,我将需要点击该链接以获取有关此事件的更多详细信息。

在我的 rake 任务中,我有:

有趣的是 item.at("a") 总是返回锚点。但是 e.at("a") 返回 nil。当我对 p 元素执行 inner_html 时,它完全忽略了锚点。示例输出:

但是,当我直接使用 Nokogiri 运行相同的抓取时:

它识别内部

,它会返回href等。

Mechanize 应该使用 Nokogiri,所以我想知道我的版本是否不好,或者这是否也会影响其他人。

感谢任何线索。

0 投票
3 回答
1628 浏览

perl - 为什么 WWW::Mechanize::Firefox 找不到它的“新”方法?

运行小示例脚本时出现以下错误:

无法在 mechtest.pl 第 2 行通过包“WWW::Mechanize::Firefox”(也许您忘记加载“WWW::Mechanize::Firefox”?)找到对象方法“new”。

我安装了 WWW::Mechanize::Firefox,我在 Firefox 上安装了 MozRepl 插件。为什么找不到新的?

0 投票
1 回答
525 浏览

python - python mechanize 缓存功能与普通浏览器缓存功能相同吗?

在其文档中,它说“可以通过使用来避免这种缓存行为Mechanize.OpenerDirector”。这个缓存会影响同一页面的下一个请求吗?