Mecanizar con https extraños formar RoR
-
18-09-2019 - |
Pregunta
Estoy usando RoR tratando de buscar una forma sencilla en mi colegio usando mecanizar . El código funciona bien para la búsqueda de Google, pero devuelve el formulario de búsqueda en los resultados? Estoy realmente confundido. ¿Algún consejo? Gracias!
ruby script/console
require 'mechanize'
agent = WWW::Mechanize.new
agent.get("https://www.owens.edu/cgi-bin/class.pl/")
agent.page.forms
form = agent.page.forms.last
form.occ_subject = "chm"
form.submit
Solución
He resuelto él! Cuando form.submit
está siendo llamado, que está asumiendo el último botón en form.buttons
es el botón para usar. El último botón en form.buttons
es la forma avanzada, por lo tanto, el objeto de página que resulta ser otra forma, aunque la forma más exhaustiva búsqueda avanzada.
require 'mechanize'
agent = WWW::Mechanize.new
agent.get("https://www.owens.edu/cgi-bin/class.pl/")
agent.page.forms
form = agent.page.forms.last
form.occ_subject = "chm"
result = agent.submit(form, form.buttons.first)
result.parser.css('table.cs-table-settings tr.tbl-class-fill-b td font b').map { |v| v.text.strip }
=> ["Principles of Chemistry", "Principles of Chemistry", "Principles of Chemistry", "Principles of Chemistry", …]
Finalmente llegamos a la parte inferior de la misma! El HTML es horrible, por lo que tendrá que poner su sombrero en XPath para éste! :)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow