我有以下HTML结构:
<button class="btn btn-add" data-role="add">Add New User</button>
我正在尝试在我的ruby-watir脚本中获取类名:browser.button(:class => 'btn btn-add').click
,
但它不起作用。
如何使用watir点击该按钮?
答案 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等待整个页面加载,但某些元素可能需要一些时间才能显示/启用。