当前位置: 首页 > 知识库问答 >
问题:

验证Ruby Selenium WebDrive中的搜索过滤

孟建木
2023-03-14

我对Ruby、Selenium和UI自动化非常陌生,我有一个关于如何计算下拉菜单中可见项目数量的问题。

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

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

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

从概念上来说,我想这样做:

  1. 使用 class=List_item 循环访问每个 div 标记,如果我找到一个有显示的标记,请对其进行计数。然后验证它是否等于“1”。

我尝试使用find_elements,但似乎无法在数组中的每个元素中找到属性(是因为它们不是Web驱动程序对象吗?)。

如果有其他更好的方法,了解和学习更多也会很好。感谢您的回复。

共有1个答案

周飞语
2023-03-14

所以,在这个特殊的例子中,你可以做

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

当在搜索字段中键入 USD 时,此值应返回 1。

编辑:我建议您为首选浏览器(FF或铬)获取时间路径。它在测试 xpath 时有很大帮助。

 类似资料:
  • 上面的代码对所有测试用例都能很好地工作。但是,下面的代码不是。 额外的IF条件有什么需要?即使没有它们,函数也应该从下面的if条件返回false?我错过了什么?

  • 假设BST定义如下: 节点的左子树只包含键小于节点键的节点。节点的右子树只包含键大于节点键的节点。左子树和右子树也必须是二叉搜索树。 示例1:

  • 我的解决方案在第二个例子中失败了,我不知道为什么,请解释。 问题是: 给定一棵二叉树,确定它是否是有效的二叉查找树(BST)。 假设BST的定义如下: 节点的左子树只包含键小于节点键的节点。节点的右子树仅包含键大于节点键的节点。左子树和右子树都必须是二进制搜索树。 例1: 输入:[2,1,3] 输出:真 例2: 输入:[5,1,4,空,空,3,6] 输出:false 说明:根节点的值为5,但其右子

  • 问题内容: 我是这个框架的新手,因此练习Angularjs并遵循网站上提供的教程。 有一个示例,我们可以搜索表中存在的数据,示例如下, 在上面的代码中,我可以使用两个不同的输入来搜索手机,即按型号名称搜索和按公司名称搜索,以上代码运行良好, 但是,如果我需要使用选择选项中存在的搜索类型进行搜索,该怎么办? 代码如下 从上面的代码中,您可以看到我正在尝试通过选择框中显示的“姓名”,“公司”或“名称”

  • 我试图验证二叉查找树。给定二叉树的根,确定它是否是有效的二叉查找树(BST)。 有效的BST定义如下: 节点的左子树只包含键小于节点键的节点。节点的右子树只包含键大于节点键的节点。左子树和右子树也必须是二叉搜索树。 https://leetcode.com/problems/validate-binary-search-tree/ 我正在使用递归解决方案,但它未能通过以下测试用例: 输入:[2,1

  • 大家好,根据搜索框中的conatiner图像在这里!我只是想问当用户在搜索框中键入一个名称时,应该显示特定的字段。我把我的视图。JSP代码也在这里吗?? vuew.jsp<%@page import=“com.privery.servicebuilder.service.blobdesolocalserviceutil”%><%@taglib uri=“http://java.sun.com/po