问题标签 [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 回答
1603 浏览

python - 如何提交具有多个提交按钮的表单。向网站发送 POST。(Python)

我正在使用Python Mechanize创建一个脚本,该脚本可以登录网站并提交表单。但是,此表单有 3 个提交按钮(预览、发布和取消)。我习惯了只有一个按钮...

这是表格:

这是我的代码:

如果我运行这个脚本......它不会工作。没发生什么事。我假设因为它在表单中有 3 个提交按钮?或者是另一个问题?

0 投票
1 回答
2981 浏览

python - Python mechanize 在第二次打开时失去属性

这是一个非常专业的案例,我觉得问它很尴尬;但是我正在努力解决这个问题。

我需要通过表单和结果页面跟踪跟踪号,所以我一直在 python 中使用机械化,表单提交后的链接嵌入在 javascript 中,所以我不能简单地 follow_link。我想要做的是正则表达式出 url,然后要求调用open()它,但是当我这样做时 - 我遇到了一些问题。

我可以在目标页面上调用br.geturl()并且br.title()很好,但是当需要读取相关页面的源时,它会抛出

有什么办法可以做到这一点,还是我给它打了太多的补丁,任何建议都会很棒

编辑[更多代码{真的很难看,只是想让它工作}]:

0 投票
2 回答
1115 浏览

ruby-on-rails - 被 ror 机械化迷惑了

我正在尝试使用mechanize对我大学的课程表数据库进行简单搜索。以下代码返回 nil,但它可以登录 facebook 并搜索 google(使用 diff url/params)。我究竟做错了什么?

我在这里关注最新的(伟大的)railscast。机械化文档很有用,但我仍然感到困惑。提前感谢您的建议!

0 投票
2 回答
5458 浏览

python - 机械化提交登录表单从 http 到 https

我有一个包含通过 HTTP 加载的登录表单的网页,但它通过 HTTPS 提交数据。

我正在使用 python-mechanize 登录该站点,但似乎数据是通过 HTTP 提交的。

我的代码是这样的:

提交表单后,通过 HTTP 建立连接并包含以下内容:

任何人都可以确认这一点并最终发布解决方案,以便通过 HTTPS 提交表单吗?

后期编辑:

1) 我正在为 http/https 流量使用 HTTP 代理(在环境中设置 - Linux 机器)
2) 我用 Wireshark 观察了流量,我可以确认流量是通过普通 HTTP 发送的(我可以看到POST 和 mechanize 的内容不会向代理发送与网络浏览器相同的请求 - 后者发送 CONNECT login.us.site.com:443,而 mechanize 仅 POST https://login.us.site.com) . 但是,我不知道数据离开代理时会发生什么;也许它建立了到目标站点的 ssl 连接?

0 投票
2 回答
1412 浏览

ruby-on-rails - 使用 FakeWeb 进行机械化

我正在使用 Mechanize 从页面中提取链接。为了简化开发,我使用 fakeweb 进行超快速响应,以减少每次运行代码时的等待和烦人。

当我运行上面的代码时,它说:

检查页面对象的类后

如果我不伪造 tags_url,它可以工作,因为页面类现在是 Page

那么,如何使用带有 mechanize 的 fakeweb 来返回 Page 而不是 File 对象呢?

0 投票
4 回答
7680 浏览

ruby - 如何设置机械化页面编码?

我正在尝试通过单击链接获取带有 ISO-8859-1 编码的页面,因此代码类似于:

到目前为止,我得到的结果编码错误,所以我看到如下字符:

我尝试了几种方法,包括:

  • 使用代理在第一个请求中声明编码,例如:

    /li>
  • 说明页面本身的编码

    /li>

但我一定是做错了什么:一个简单的 put 总是显示错误的字符。

你知道如何说明编码吗?

提前致谢,

补充:可执行示例:

0 投票
2 回答
2763 浏览

ruby - 使用 FileUtils 将 WWW::Mechanize::File 保存到磁盘

将 Mechanize 与 Ruby 一起使用,我使用 FileUtils 或其他方式获取某个文件agent.get('http://example.com/foo.torrent'),如何将此文件保存到我的硬盘驱动器(例如,在运行脚本的目录中)?

附言class => WWW::Mechanize::File

0 投票
3 回答
3095 浏览

python - Python urllib 代理

我正在尝试通过 urllib 获取一些 url 并通过我的代理进行机械化。

使用 mechanize 我尝试以下操作:

我收到以下错误:

作为代理,用户名和密码正确,可能是什么问题?

0 投票
2 回答
479 浏览

javascript - 页面需要时机械化忽略 Javascript

我知道有些人询问过 Mechanize 中的 JS 支持。我的问题可能有点不同,和/或提出的方式不同。我希望忽略 Javascript 检查并登录到需要 Javascript 的页面。网站本身并不真正需要 JS,但开发人员认为他们需要它以获得最佳外观。

话虽如此,有没有人能够绕过对 JS 的检查?我可以使用 Watir、Watij、Selenium 或其他其他实用程序,但它们会打开一个不太理想的实际浏览器——但如果这是我想我会走这条路的唯一方法。

我正在运行 Mac OS X、Ruby 1.8.7、Mechanize/Hpricot(截至这篇文章的最新版本)。谢谢。

0 投票
7 回答
17729 浏览

javascript - 带有 JavaScript 的程序化 Python 浏览器

我想截取一个使用 JavaScript 的网站。

mechanize,Python 的程序化网络浏览器。但是,它(可以理解)不解释 javascript。是否有任何适用于 Python 的编程浏览器?如果没有,我可以使用 Python 中的任何 JavaScript 实现来尝试创建一个吗?