【发布时间】:2018-11-29 13:53:40
【问题描述】:
我创建了一个应用程序,它使用 Watir 自动登录并在站点内执行一些功能。
现在它是 100% 纯粹用我在 irb 中执行的 ruby 类编写的,但我想把它放到 Rails 应用程序中并放到网上。除了测试之外,我还没有找到很多关于使用 Capybara 或 Watir 之类的东西的信息。这是因为它们的速度有多慢还是功能问题?
我能否运行一个后台进程,用 Watir 打开浏览器并为生产中的每个用户执行一些功能?
我的另一个问题是如何让会话保持更长的时间。我的应用程序登录有两个需要 2FA 的网站。如果我想使用 Watir 浏览器每小时登录并执行一次功能,我可以将其创建为后台进程(如果可行的话)。但是当进程完成时,浏览器会关闭,当后台进程在一小时内再次运行时,它需要再次进行 2FA。
我的另一个担心是速度。如果我有 50 个用户都需要同时运行 Watir 浏览器,我想这会很慢。只要他们运行并收集数据并执行我们需要的少数操作,我并不担心速度,但它会如何影响应用程序的完整性。
【问题讨论】:
-
使用 API 比自动浏览器更快、更可靠。抛开速度问题不谈,如果你正在抓取的网站突然改变了他们的标记会发生什么?所以我想说,除非绝对必要,否则不要将自动浏览器作为面向用户的应用的核心部分。
-
两个站点 API 之一是不可能的。我可能会将抓取工具更改为 API,但不幸的是,我的应用程序的主要功能需要自动浏览器。
-
任何需要浏览器的地方,都可以使用 HTTP 库
标签: ruby-on-rails ruby watir watir-webdriver