Automatiza las tareas tediosas con Firewatir
written on 02-22-2008 | comments

Como parte de un proyecto que estoy acabando ahora, tenía que cambiar la configuración de 248 dominios en Godaddy.com para que apuntaran a la IP del servidor...

En Godaddy.com no tienen una herramienta automatizada para cambiar el valor que necesitaba en muchos dominios a la vez... parecía que tocaba hacer el cambio a pata... Afortunadamente, Ernesto Jimenez en su twitter me sugirió que lo automatizara con mechanize...

Finalmente no fué mechanize, sino FireWatir lo que empleé... en un rato tenía montado este script que hizo el cambio para cada uno de los 248 dominios él solito en cosa de 50 minutos, mientras yo me dedicaba a hacer cosas más interesantes...

Firewatir puede visitar webs, pulsar enlaces, rellenar formularios y mucho más de manera automatizada... seguro que te puede evitar mucho trabajo tedioso, échale un vistazo porque es muy sencillo de usar.

require "rubygems"
require "firewatir"

Array con todos los dominios...

dominios = ["primerdominio.com", "segundodominio.com", "tercerdominio.com"]

Abrimos el Firefox

$ff = FireWatir::Firefox.new

Vamos a Godaddy y nos identificamos

$ff.goto("https://www.godaddy.com/gdshop/default.asp") $ff.text_field(:name, "loginname").value= "usuario" $ff.text_field(:name, "password").value= "clavesecreta" $ff.button(:id, "Login").click

Vamos a My domains

$ff.goto("https://dcc.godaddy.com/default.aspx?")

Primer dominio, probamos a pata

$ff.link(:text, "PRIMERDOMINIO.COM").click $ff.link(:text, "Total DNS Control and MX Records").click $ff.image(:src, "img/editicon.gif").click $ff.text_field(:id, "adata").value="255.255.255.255" $ff.form(:id, "arecordedit").submit

Vamos a a la lista completa

$ff.image(:src, "img/button_return_to_list.gif").click

Bucle para todos los dominios

dominios.each do |d| puts d $ff.goto("http://tdns.secureserver.net/index.php?domain=#{d.downcase}") $ff.image(:src, "img/editicon.gif").click $ff.text_field(:id, "adata").value="255.255.255.255" $ff.button(:id, "aok").click end


Back to the list of posts
blog comments powered by Disqus