ruby - 机械化找不到表格
问题描述
我在访问正在使用的页面上的表单元素时遇到问题Mechanize.
username_page = agent.get 'https://member.carefirst.com/mos/#/home'
username_form = username_page.form_with(name: 'soloLoginForm')
username_form
是nil
。(username_page
确实有页面)。该页面肯定有一个表单,该字段是#soloLoginForm,但username_page.body
没有表单元素。
我猜这是一些异步或动态问题。我可以用 poltergeist 抓取表格,我正在考虑用 capybara/poltergeist 填写我的所有表格,但我想知道我是否缺少一些简单的东西可以让我像我一样使用机械化计划。
解决方案
似乎“ https://member.carefirst.com/mos/#/home ”使用Angular来呈现页面元素,而 AngularJS 需要浏览器中的 Javascript 支持,或者在您的情况下,Capybara 需要具有 Javascript 支持的驱动程序。
Mechanize 不支持 Javascript,请检查这个旧的SO 线程。这可能是您尝试使用 poltergeist 时它起作用的原因。
推荐阅读
- r - 如何使用依赖于闪亮中另一个输入的输入来获取数据子集?
- javascript - 加载页面时显示带有视频的模式,并带有单击按钮以打开相同模式的选项
- javascript - 画布清空但重新出现
- python - 如何在pygame中更改图像的亮度?
- java - 与 SQL Server 数据兼容的嵌入式 DB
- node.js - prisma 容器中的 AWS ECS 错误 - 环境变量 PRISMA_CONFIG
- node.js - WebStorm,无法调试 NPM 脚本?
- reactjs - ButtonGroup 内的按钮组件
- android - 无法生成视图活页夹
- c++ - C++ 类错误'const class Number'没有名为'intValue'的成员