Usando RobotFramework, necesito hacer clic en 'Ejecutar Javascript', que se encuentra más en el lado derecho.
Lo que tengo hasta ahora es esto:
${ele} Get WebElement //input[@id='halfButton'] Execute Javascript arguments[0].click(); ARGUMENTS ${ele}
¿Cómo puedo cambiarlo para que haga clic a la derecha?
Sin explicar la solución línea por línea, aquí está el algoritmo: cuando Selenium hace un clic, lo hace en el punto muerto del objeto. Esa es la "trampa" en este desafío de Tosca: quieren que coloques el clic a la derecha de eso, y tienes que calcular dónde.
SeleniumLibrary al rescate: obtenga la posición del botón , luego obtenga su ancho (necesita una cuarta parte, más o menos); luego haga algunos cálculos simples para calcular una posición a la derecha desde su centro y haga clic en esas coordenadas .
De alguna manera los cálculos no parecen funcionar....
Así que probé un método de escopeta de granizo:
CLICK ELEMENT AT COORDINATES id=halfButton 600 100 LOG TO CONSOLE 1 CLICK ELEMENT AT COORDINATES id=halfButton 600 150 LOG TO CONSOLE 2 CLICK ELEMENT AT COORDINATES id=halfButton 600 100 LOG TO CONSOLE 3 CLICK ELEMENT AT COORDINATES id=halfButton 610 100 LOG TO CONSOLE 4 CLICK ELEMENT AT COORDINATES id=halfButton 620 100 LOG TO CONSOLE 5 CLICK ELEMENT AT COORDINATES id=halfButton 630 100 LOG TO CONSOLE 6 CLICK ELEMENT AT COORDINATES id=halfButton 560 100 LOG TO CONSOLE 7 CLICK ELEMENT AT COORDINATES id=halfButton 570 150 LOG TO CONSOLE 8 CLICK ELEMENT AT COORDINATES id=halfButton 580 100 LOG TO CONSOLE 9 CLICK ELEMENT AT COORDINATES id=halfButton 590 100 LOG TO CONSOLE 10 CLICK ELEMENT AT COORDINATES id=halfButton 520 100 LOG TO CONSOLE 11 CLICK ELEMENT AT COORDINATES id=halfButton 530 100
Aún así no dio en el blanco.
Sé que la ventana gráfica es: 1366 por 643 (1374, 586) está fuera de los límites del ancho de la ventana gráfica (1366) y la altura (643), que fue probado por x-700 x y-100.
Puedes moverte mucho en el eje horizontal X, pero no puedes moverte mucho en el eje vertical Y, porque el botón no está muy alto.
por lo tanto esto funcionó:
CLICK ELEMENT AT COORDINATES id=halfButton 100 1 LOG TO CONSOLE 1