0

我正在开发一个相当大的自动化应用程序来从各种状态数据库中抓取各种废弃的属性信息,以便找到特定的属性。我已经使用各种自动化形式为大约 8 个州网站开发了搜索脚本。我更喜欢使用 ruby​​ 的 Mechanize 库之类的东西来执行自动化,因为它是迄今为止我遇到的最稳定的方法。在某些情况下,我无法使用 Mechanize 自动进行抓取,必须回退到像 Watir 之类的东西(或者更具体地说,是 Watir 的一个分支,称为 Vapir)。当源需要搜索 javascript 时,特别需要 Vapir,因为 Mechanize 只发出 HTTP 请求,不处理 JS 解释。

我的问题是 Vapir 自动化 Internet Explorer 的一个实例。在某些情况下,经过长时间的搜索(其中一些搜索是针对 4,000 多个搜索词的列表),IE 会锁定。我认为这是 OLE 引擎的问题。我收到的错误如下:

failed to create WIN32OLE object from `InternetExplorer.Application' HRESULT error code:0x80004005 Unspecified error

我找不到任何东西来解决这个问题。

我的问题是,是否有人知道锁定的自动 OLE 实例的任何解决方案或解决方法?要修复该错误,我必须手动终止所有 IE 进程并重新启动自动搜索。

我知道的替代方案是通过Vapir在后端(而不是 IE)自动化 Firefox,或者可能切换到PhantomJS之类的东西。有人对这些选项中的任何一个有意见吗?

4

1 回答 1

0

您使用 Vapir 有什么原因吗?为什么不试试watir(驱动 Internet Explorer)或watir-webdriver(驱动 Internet Explorer、Firefox、Chrome 和 Opera)gem?

有关安装,请参见https://github.com/zeljkofilipin/watirbook/blob/master/installation/windows.md

于 2011-09-20T10:21:56.353 回答