Watir:我的browser.button(:class =>'')。click不起作用

时间:2015-02-03 03:54:35

标签: ruby webdriver watir

我有以下HTML结构:

<button class="btn btn-add" data-role="add">Add New User</button>

我正在尝试在我的ruby-watir脚本中获取类名:browser.button(:class => 'btn btn-add').click, 但它不起作用。

如何使用watir点击该按钮?

2 个答案:

答案 0 :(得分:4)

您的页面中有多少个具有相同级别的按钮?

  browser.buttons(:class => "btn btn-add").count

通常when_present应该处理时间问题,添加另一个标识符以帮助找到合适的元素

    browser.button(:class => 'btn btn-add', :text => 'Add New User').when_present.click

另外尝试这个(额外的代码行,但可以帮助解决时间问题):

  Watir::Wait.until { browser.button(:class => 'btn btn-add').visible? }<br>
  browser.button(:class => 'btn btn-add', :text => 'Add New User').click

您也可以尝试使用正则表达式找到按钮

browser.button(:text => /Add New User/).when_present.click

希望这有帮助

答案 1 :(得分:0)

我没有使用Ruby,但您可以通过向定位器添加文本属性(添加新用户)来修复它。

喜欢://button[@class='btn btn-add' and text()='Add New User']

如果仍然无法正常工作,那么你必须等待一段时间才能睡觉。虽然webdriver等待整个页面加载,但某些元素可能需要一些时间才能显示/启用。