¿Es posible conectar un motor de JavaScript con Ruby y Nokogiri?

Estoy escribiendo una aplicación para rastrear algunos sitios web y raspar los datos de ellos. Estoy usando Ruby, Curl y Nokogiri para hacer esto. En la mayoría de los casos es sencillo y solo necesito hacer ping a una URL y analizar los datos HTML. La configuración funciona perfectamente bien.

Sin embargo, en algunos escenarios, los sitios web recuperan datos en función de las entradas del usuario en algunos botones de opción. Esto invoca algún JavaScript que recupera más datos del servidor. La URL generada y los datos publicados están determinados por el código JavaScript.

¿Es posible utilizar:

¿Una biblioteca de JavaScript junto con esta configuración que podría determinar ejecutar el JavaScript en la página HTML para mí?

Además de usar una biblioteca diferente, ¿hay alguna integración o una forma para que las bibliotecas HTML y JS se comuniquen? Por ejemplo, si se hace clic en un botón, Nokogiri necesita llamar a JavaScript y luego JavaScript debe actualizar Nokogiri.

En caso de que mi enfoque no parezca el mejor, ¿cuál sería su sugerencia para construir un rastreador + raspador en la web con Ruby?

EDITAR: Parece que el punto 1 es posible usando la columna de orientación ya que incorpora el motor V8 en su código, pero ¿hay una alternativa a 2?

Respuestas a la pregunta(2)

Su respuesta a la pregunta