2011-09-01 32 views

Respuesta

3

Resulta que la respuesta es:

driver.move_to(el).perform 

me olvidó la .perform.

+0

Comprobar @ Seanny123 y mi comentario acerca de por qué existe esto ahora puede trabajar. –

3

Esto funciona para mí:

driver.mouse.move_to el 
+0

Comprobar @ Seanny123 y mi comentario abajo en la respuesta acerca de por qué esto ahora puede trabajar. –

5

que utilizan driver.action.move_to(el).perform que difiere ligeramente de las otras respuestas, por lo que pensé que iba a incluir por el bien integridad.

+2

Actualmente selenio se ha dividido de la función 'move_to' por lo que necesita usar' .action' acceder a las funciones del ratón ahora. –

+0

@DanSabin ¿le gustaría proponer una edición aclarando esto? Lo aceptaría totalmente. – Seanny123

1

Debe usar Selenium's Action Builder para acceder a acciones más complejas como pasar el ratón (que es lo que demuestra la respuesta de seanny123).

Además, si se está trabajando con un vuelo estacionario, las probabilidades son que tendrá que esperar de forma dinámica para que se muestre antes de tomar la siguiente acción (por ejemplo, usando una espera explícito).

que arme un ejemplo de cómo hacer esto - se puede ver el pago total de hasta here.

1

flotar un elemento:

driver.action.move_to(element).perform 
# e.g.  
driver.action.move_to(driver.find_element(css: 'a')).perform 

flotar un elemento en un lugar específico:

driver.action.move_to(element, mouse_x, mouse_y).perform 
# e.g.  
driver.action.move_to(driver.find_element(css: 'a'), 100, 100).perform 
Cuestiones relacionadas