有时.click capybara函数不会触发,也不会因为假定它被触发而失败。所以我环顾四周,发现.trigger(“click”)更可靠,也有一些缺点。
But I read the github for the trigger() function and it says it doesn't work in selenium.
是否有替代功能可以在硒中使用水豚/红宝石进行可靠的点击?
例如:
find(el).click
VS
find(el).trigger("click")
答案 0 :(得分:1)
不,Capybara中没有替代点击功能与selenium(除了可能通过execute_script
执行JS)。咔嗒声不太可能不会被点击,它更有可能在“错误”中解雇。由于页面上的动画导致的位置,导致点击实际发生时计算的点击位置过期。在这种情况下,在测试期间禁用动画通常会有所帮助。如果它不是一个错误的位置问题,你可以创建一个展示行为的例子,将它报告给geckodriver或chromedriver,他们通常会很快修复它(只要你提供一个复制它的例子)。
答案 1 :(得分:-2)
有时,您尝试点击的元素会被隐藏或重叠,在这种情况下您必须使用 -
find(el).trigger("click", visible: false)
希望有所帮助。