使用硒在水豚中可靠的点击功能

时间:2017-09-29 18:06:44

标签: javascript ruby selenium capybara

有时.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")

2 个答案:

答案 0 :(得分:1)

不,Capybara中没有替代点击功能与selenium(除了可能通过execute_script执行JS)。咔嗒声不太可能不会被点击,它更有可能在“错误”中解雇。由于页面上的动画导致的位置,导致点击实际发生时计算的点击位置过期。在这种情况下,在测试期间禁用动画通常会有所帮助。如果它不是一个错误的位置问题,你可以创建一个展示行为的例子,将它报告给geckodriver或chromedriver,他们通常会很快修复它(只要你提供一个复制它的例子)。

答案 1 :(得分:-2)

有时,您尝试点击的元素会被隐藏或重叠,在这种情况下您必须使用 -

find(el).trigger("click", visible: false)

希望有所帮助。