在rails应用程序中使用watir-webdriver的多个无头firefox实例

时间:2012-10-07 19:28:05

标签: ruby-on-rails watir-webdriver headless xvfb

我有一个简单的rails应用程序,用于删除网页。控制器使用watir-webdriver调用我在无头模式下使用firefox的scrapper实用程序。应用程序可以正常运行并返回结果。我称之为应用程序的方式是这样的:

http://somedomain.com:3000/scrappers.json?session=1349426645_562&l=test

并返回一个json字符串。

刮刀完成需要大约15秒。当一个请求正在进行时,当我尝试启动其他请求时,请求将排队,直到上一个请求完成。我不确定它是否对rails应用程序端或使用Xvfb的watir-webdriver或无头gem有限制。

任何指针都会有所帮助。

谢谢, 斯里达尔

2 个答案:

答案 0 :(得分:0)

有更好的屏幕抓取库,例如机械化。实际上,有些应用程序只是用于抓取。

答案 1 :(得分:0)

我发现我可以使用CGI模块来完成我的工作。由于我不需要rails应用程序,我使用ruby CGI来调用ruby脚本并通过URL传递参数。我也可以使用这种方法以非阻塞方式启动多个实例。为了做到这一点,我不得不重新编写我的控制器作为一个独立的ruby程序。