所以我遇到了一个问题,我试图单击一个按钮...不幸的是它具有相同的文本(IE 页面上有 2 个按钮具有相同的文本,基本上是一个保存按钮)
让我们假设按钮文本只是“保存”。
我确实注意到他们有不同的类(class)。
<button data-action="submit" class="btn btn-primary btn-save">Save</button>
而另一个按钮是:
<button name="button" type="submit" class="btn btn-primary set-right">
<i class="glyphicon glyphicon-floppy-disk"></i> Save
</button>
我知道 glypicon 只是一个图标集......但它们似乎都属于同一类?但有不同的类名? (抱歉我对 Rails 不熟悉)
老实说,我选择哪一个并不重要,因为它们都有相同的功能。我已经看到哪里可以使用 xpath 了?但我们现在不应该使用 css 选择器之类的东西吗? (这是最新的方式?)我可能是错的......
我可以使用类似的东西吗:
find(:xpath, '//button[@class="btn-save"]').click
我试图避免仅使用“rails”解决方案,因为并非我测试的所有网站都是基于rails的。
最佳答案
你有多种可能性:
1) 按其类别查找按钮
find(button.btn.btn-primary.btn-save).click
2) 通过 css 选择器 或 xpath 找到按钮(您可以使用 Google Chrome 复制它们:右键单击 -> 检查 -> 右键单击您的元素 -> 复制 css 或 xpath)
find(:css, "your button css selector").click
find(:xpath, "your button xpath").click
关于 cucumber / capybara 从特定类别中选择按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34318242/