Tengo un botón en una página que solo aparece al pasar el ratón sobre un elemento determinado. Pero no puedo entender cómo emular esto y luego hacer clic en el enlace para poder probar el pepino usando Capibara y Selenio.mouse de desplazamiento sobre capybara
Respuesta
Es posible que desee utilizar un paso definido para este encargo, como:
When /^I click "([^"]*)" inside element "([^"]*)"$/ do |button, element_name|
el interior, escribir algo como:
begin
evaluate_script("$('#{element_name}').trigger('mouseover')")
rescue Capybara::NotSupportedByDriverError
end
Y luego haga clic en el botón que usted quiere :)
Encontré una manera de simular "mouse hover" usando Capybara + el controlador Selenium. Prueba este código:
module Capybara
module Node
class Element
def hover
@session.driver.browser.action.move_to(self.native).perform
end
end
end
end
Esto no funciona –
Funciona para mí con los controladores Chrome y Firefox de Selenium. Puede que tenga que esperar una fracción de segundo después de pasar el mouse antes de que responda. Si aún no funciona, utiliza la gema 'depurador', inserta una llamada a' depurador' en una de tus pruebas de Capybara, y luego experimenta con tipear comandos de Selenium mientras miras lo que está sucediendo en la ventana del navegador Chrome/FF. –
Ah, en FF puede necesitar habilitar eventos nativos. Está en los documentos de Selenium ... –
- 1. Desplazamiento DataGridView con mouse
- 2. Desplazamiento del mouse en el lienzo [fabric.js]
- 3. html acercar el mouse sobre
- 4. Disparador JXCollapsiblePane con mouse sobre
- 5. La información sobre herramientas de desplazamiento del mouse TreeNode no aparece
- 6. TListView y desplazamiento de la rueda del mouse
- 7. Qt ¿Cómo deshabilitar el desplazamiento del mouse de QComboBox?
- 8. QGraphicsItem no recibe eventos de desplazamiento del mouse
- 9. Mostrar información sobre herramientas en el mouse sobre un texto
- 10. Identificación del elemento en el mouse sobre
- 11. No desencadenar evento de desplazamiento sobre niños
- 12. indicación visual de sobre desplazamiento en android
- 13. CSS: ¿Opacidad de transición en el desplazamiento del mouse?
- 14. Usando la rueda de desplazamiento del mouse en GLUT
- 15. Desplazamiento vertical suave de la página con la rueda del mouse y la barra de desplazamiento
- 16. ¿Cómo pasar el mouse sobre un SVG rect?
- 17. ¿Por qué el evento de desplazamiento de rueda no se activa cuando el mouse está sobre un elemento "posición: fijo"?
- 18. Cómo simular el efecto de desplazamiento sobre los dispositivos táctiles?
- 19. ¿Activar caja de fantasía con el mouse sobre el mouse en lugar de hacer clic?
- 20. Cambiar el desplazamiento del mouse para no acercar Expression Blend?
- 21. Desplazamiento horizontal con la rueda del mouse en Visual Studio
- 22. Desplazamiento horizontal con la rueda del mouse en un div
- 23. Ventana emergente de mouse de texto sobre Swing JTextArea?
- 24. ¿Cómo distinguir el desplazamiento por el mouse del desplazamiento programático en JavaScript?
- 25. jquery mouse mouse out
- 26. JCheckbox change listener recibe una notificación de mouse sobre eventos
- 27. Rastreo de movimientos del mouse sobre una página con GWT
- 28. Botón de cacao que se iluminará con el mouse sobre
- 29. ¿Alguna ventaja de pasar el mouse sobre mouseover en JQuery?
- 30. Rspec + Capybara: undefined last_response
lamentablemente esto no funciona para css: hover menús desplegables basados ... necesitamos algún tipo de forma de mover de forma explícita un ratón falsa en torno a ciertas cosas ... – fringd
Se debe trabajar en mi humilde opinión . Intenta ser más explícito así: evaluate_script ("$ ('div # name> ul> li> a: contiene (# {menu_name})'). Trigger ('mouseover')"). Además, afaik selenium admite mover un cursor en dimensiones x, y, pero esto no es divertido;) – socjopata
socjopata, qué controlador de capibara estás usando y estás SEGURO de que estás usando css: hover y no javascript o jquery's .hover (. ..)? – fringd