Aquí es lo que hago:El evento Selenium click() parece no estar siempre activado => resultados en timeout?
selenium.click("link=mylink");
selenium.waitForPageToLoad(60000);
// do something, then navigate to a different page
// (window focus is never changed in-between)
selenium.click("link=mylink");
selenium.waitForPageToLoad(60000);
El enlace "mivinculo" existe, la primera invocación de clic() siempre funciona. Pero el segundo clic() a veces parece funcionar, a veces no.
Parece que el evento click() no se activa en absoluto, porque la página ni siquiera comienza a cargarse. Lamentablemente, este comportamiento no es esencial.
Esto es lo que yo ya probé:
Conjunto de tiempo más largo tiempo de espera
=> no ayudóEspere a que un elemento presente después de cargar una página
=> no funciona ya sea porque la página ni siquiera comienza a cargar
Por ahora terminó invocando clic() dos veces, así:
selenium.click("link=mylink");
selenium.waitForPageToLoad(60000);
// do something, then navigate to a different page
// (window focus is never changed in-between)
selenium.click("link=mylink");
selenium.click("link=mylink");
selenium.waitForPageToLoad(60000);
que funcionará, pero no es una solución muy agradable. También he visto en otro foro en el que alguien le sugirió escribir algo así como un 'clickAndWaitWithRetry':
try {
super.click("link=mylink");
super.waitForPageToLoad(60000);
}
catch (SeleniumException e) {
super.click("link=mylink");
super.waitForPageToLoad(60000);
}
Pero creo que tampoco es una solución adecuada .... Cualquier idea/explicaciones de por qué el clic () evento a veces no se desencadena?
Normalmente uso 'velocidad de respuesta' en lugar de tiempo de espera cuando quiero ralentizar el script por alguna razón. –