首页 > 解决方案 > 机械化找不到表格

问题描述

我在访问正在使用的页面上的表单元素时遇到问题Mechanize.

username_page = agent.get 'https://member.carefirst.com/mos/#/home'
username_form = username_page.form_with(name: 'soloLoginForm')

username_formnil。(username_page确实有页面)。该页面肯定有一个表单,该字段是#soloLoginForm,但username_page.body没有表单元素。

我猜这是一些异步或动态问题。我可以用 poltergeist 抓取表格,我正在考虑用 capybara/poltergeist 填写我的所有表格,但我想知道我是否缺少一些简单的东西可以让我像我一样使用机械化计划。

标签: rubycapybaramechanize

解决方案


似乎“ https://member.carefirst.com/mos/#/home ”使用Angular来呈现页面元素,而 AngularJS 需要浏览器中的 Javascript 支持,或者在您的情况下,Capybara 需要具有 Javascript 支持的驱动程序。

Mechanize 不支持 Javascript,请检查这个旧的SO 线程。这可能是您尝试使用 poltergeist 时它起作用的原因。

检查:https ://github.com/teamcapybara/capybara#drivers


推荐阅读