Free As In Freelance
being the adventures of Jaime Iniesta on the wild wild web
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
