在Ruby Selenium Webdriver

时间:2017-01-10 11:03:15

标签: ruby selenium selenium-webdriver

我对Ruby,Selenium和UI自动化非常陌生,并且在下拉菜单中快速询问如何获取可见项目数。

示例:我有一个10个货币值(美元,欧元,日本等)的下拉菜单。它们被编码为:

<div class="list_item">Currency Symbol</div>

下拉菜单是可搜索的,如果我输入“ USD ”,那么唯一可见的项目就是该特定货币值。该类的所有其他div都获得style="display: none;"属性。如何验证 USD 确实是菜单中的唯一项目?这里可以看到这种情况的一个例子:https://www.oanda.com/currency/converter/

从概念上讲,我正在考虑这样做:

  1. 使用div遍历每个class=List_item标记,如果找到具有显示的标记,请对其进行计数。然后验证它是否等于'1'。
  2. 我尝试使用find_elements但似乎无法在数组中的每个元素中找到属性(是因为它们不是webdriver对象吗?)。

    如果还有另一种更好的方法,那么了解和学习更多内容真的很好。感谢任何回复。

1 个答案:

答案 0 :(得分:2)

因此,在此特定示例中,您可以

@driver.find_elements(:xpath, "//div[@class='currency_dropdown']/div[@id='scroll-innerBox-1']/div[not(@style='display: none;')]").size

当在搜索字段中输入美元时,这应该返回1。

编辑:我建议您为首选的浏览器(FF或Chrome)获取ChroPath。在测试xpath时,它有很大帮助。