Phi*_*hil 5 selenium rspec capybara
我遇到一个尝试单击复选框的问题。该应用程序是用AngularJS编写的。
不能单击该复选框,因为从技术上讲该元素不可见。使用“ visible:false”无助于选中此框。我也尝试过使用element.set(true)
该复选框位于label元素内,该元素恰好也包含超链接。由于默认情况下Capybara / Selenium单击元素的中间,所以我最终打开了超链接,而不是选中复选框。在标签中的任何位置(超链接之外)单击均会成功选中该框。
我该如何实现?
我花了一点时间,但我发现我可以避免使用 Capybara API 并使用 WebDriver 的 ActionBuilder。
def agree
source = find('label.terms-label').native
actionbuilder = page.driver.browser.action
actionbuilder.move_to(source, 0, 0).click.perform
end
Run Code Online (Sandbox Code Playgroud)
默认情况下,Capybara API(以及其他本机 Selenium 方法)将单击元素的中心。这将避免这种情况,并将找到该元素并在 (0, 0) 坐标处单击它。
| 归档时间: |
|
| 查看次数: |
1112 次 |
| 最近记录: |