Watir Webdriver 计算 UL 列表中的项目数量

2024-02-13

我进行了一些搜索,但无法找到合适的答案。基本上我有一个长度不同的无序列表。我想遍历列表,做一些其他事情,然后返回并选择列表中的下一个项目。当我定义循环应该迭代的次数时,我可以很好地做到这一点,因为我知道列表中的项目数量。

但是我不想为每个测试定义这个,我想获取列表中的项目数,然后将其弹出到一个变量中,我可以使用该变量退出循环并执行我想要的下一步操作。

HTML 是这样的:

<ul id="PageContent_cat">
  <li class="sel">
    <a target="_self" href="/searchlocation.aspx?c=S1">S1</a>
  </li>
  <li>
    <a target="_self" href="/searchlocation.aspx?c=S2">S2</a>
  </li>
  <li>
    <a target="_self" href="/searchlocation.aspx?c=S3">S3</a>
  </li>
  <li>
    <a target="_self" href="/searchlocation.aspx?c=S4">S4</a>
  </li>
  <li>
    <a target="_self" href="/searchlocation.aspx?c=S5">S5</a>
  </li>
  <li>
    <a target="_self" href="/searchlocation.aspx?c=S6">S6</a>
  </li>
  <li>
    <a target="_self" href="/searchlocation.aspx?c=S7">S7</a>
  </li>
</ul>

所以我可以看到列表中有 7 项。显然在 watir 我可以使用以下内容:

arr= ie.select_list(:name,'lr').getAllContents.to_a

但对于网络驱动程序则不然。

我想我也许可以使用“lis”,但我只得到一个十六进制结果:

$bob = browser.ul(:id => "PageContent_cat").lis 投入 $bob

Thanks,

Paul


根据您想要收集的信息以及您打算将其用于什么目的,以下是通常完成的方式。您可以让它在到达最后一个元素时自然停止,而不是获取一个数字来定义迭代,然后迭代该次数:

MyList = browser.ul(:id => "PageContent_cat")

#Scrape links from the UL for visiting
MyList.links.each do |link|
  puts link
  puts link.text
  b.goto(link)
  #etc
end

#Save li items to an array for later processing
MyArray = []

MyList.lis.each do |li|
  puts li.text
  MyArray << li.text
  #etc
end

#Iterate through your array in the same method, to report/visit/etc
MyArray.each do |item|
  puts "I collected something: #{item}"
  b.goto(item)
end #
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Watir Webdriver 计算 UL 列表中的项目数量 的相关文章

  • 如何根据行中的文本单击表格中的链接

    使用 page object 和 watir webdriver 如何根据行文本单击表中的链接 如下所示 该表包含 3 行 第一列中有名称 右侧列中有相应的详细信息链接 仪表板 详细信息 示例 详细信息 等等 div class basic
  • 无法通过 Watir 连接到 Tor-Firefox

    我在通过 Ruby Watir webdriver 连接到 Tor 时遇到问题 我使用 Tor 浏览器捆绑包 问题是 当我尝试通过 Watir Selenium 连接时 我似乎无法打开 Tor 而不是常规的 Firefox 看着类似的问题
  • 如何处理无法加载的页面并在 Watir-Webdriver 中继续测试

    我已经寻找其他问题的答案 但找不到 我的问题是 我有许多需要测试的结果 但当我点击不加载页面的 URL 时 我的脚本不断失败 以下网址无法加载 当此 URL 未加载时 我想继续测试 我尝试过使用 begin Timeout timeout
  • Watir-webdriver:如何在没有 js/jquery 的情况下更改属性值

    如何在不使用 js jquery 的情况下使用 watir webdriver 更改 href 属性值 我可以获得一个属性值 browser frames 2 div id mid 2 link class btn lrg attribut
  • 禁用 chrome 下载多个文件确认

    我使用 ruby watir webdriver 开发了一个爬虫 可以从页面下载一些文件 我的问题是 当我单击下载第二个文件时 Chrome 会在顶部打开一个栏 要求确认我正在从此网站下载多个文件 一旦被 webdriver 使用 我就无法
  • 在 Watir 中查找具有特定类的 div 列表

    页面上有 n 个具有相同类名的 div div class errors div div class errors Foo is invalid div 我们想要做的是检查并查看是否有任何带有 error 类的 div 具有消息 Foo i
  • Ruby : Watir : 如何避免从 Net::ReadTimeout 关闭浏览器?

    我正在使用 Watir 制作一个自动化程序 它从文件中读取链接links txt然后在chrome浏览器上一一打开 当打开浏览器需要很长时间及其加载时间时 它会向我显示Net ReadTimeout 我已尝试救援 如果未获救 请转到列表中的
  • Watir::Exception::MissingWayOfFindingObjectException:无效属性::css

    我很确定 watir webdriver 有 css 选择器支持 但看起来它不再存在了 ruby v ruby 1 9 3p0 2011 10 30 revision 33570 x86 64 darwin11 2 0 gem v 1 8
  • Watir Webdriver 计算 UL 列表中的项目数量

    我进行了一些搜索 但无法找到合适的答案 基本上我有一个长度不同的无序列表 我想遍历列表 做一些其他事情 然后返回并选择列表中的下一个项目 当我定义循环应该迭代的次数时 我可以很好地做到这一点 因为我知道列表中的项目数量 但是我不想为每个测试
  • 如何使用 Watir (Ruby) 读取不可见元素中的文本?

    页面上有一个 div 不可见 但有一些我想捕获的值 在其上调用 text 会返回一个空字符串 如何在不处理原始 html 的情况下获取显示的值 无论文本在浏览器中的可见性如何 我是否可以强制 text 返回实际值 irb main 1341
  • 如何在数字数组中找到最佳匹配元素?

    我需要帮助解决一些看似简单但让我困惑的事情 尝试编写一些模糊匹配方法来处理根据需要计算的值与选择列表中实际可用的值之间的格式差异 价值 期权执行价格 始终是计算出的 Float 例如85 0 or Int 该数组包含字符串形式的数字 无论是
  • watir-webdriver 黑色屏幕截图

    我正在使用 watir webdriver 浏览我的网站并在不同的浏览器中抓取屏幕截图 有时 在 IE 中截取的屏幕截图尺寸正确 但颜色全黑 同时运行的 Firefox 测试看起来不错 browser driver save screens
  • 关于 select_list 和重新加载的 Watir 问题

    我有一个包含多个选项的下拉菜单 每当您选择一个选项时 页面都会重新加载该选项的特定数据 目前我正在使用 select list name strg set value 它很好地完成了这部分工作 但它不会使用特定数据重新加载页面 任何人都知道
  • 如何在 watir 的 webdriver-user-agent gem 中传递 Chrome 选项

    我正在尝试使用 Watir gem 传递 Chrome Drive 的 cookies 选项 从 Watir 文档我可以做Watir Browser new chrome opts 所以对于cookie我可以这样做 browser Wati
  • 将图像保存在 watir-webdriver 中

    我需要将图像从 recaptcha 保存到本地主机磁盘 我使用 watir webdriver 获取图像 dom 元素 但它不支持保存方法 如 watir 那样 那么如何将图像保存到我的磁盘上呢 网页 div style width 300
  • 使无头浏览器停止加载页面

    我正在使用 watir webdriver ruby gem 它启动浏览器 Chrome 并开始加载页面 页面加载速度太慢 watir webdriver 引发超时错误 如何让浏览器停止加载页面 require watir webdrive
  • Watir Webdriver 加载 Chrome 扩展

    我正在尝试使用 Watir 加载 chrome 扩展 但遇到了问题 我发现这个相关问题 能够启动带有 watir webdriver 加载扩展的 chrome https stackoverflow com questions 125867
  • 开始使用 Ruby、Watir 和 Ruby Mine?

    我想对电子商务网站进行自动化测试 我安装了 Ruby Watir Gems 和 Ruby Mine 虽然我尝试过 RubyMine 但我不知道如何开始编写一个简单的脚本 如何开始使用 RubyMine 编写简单的脚本 我创建了一个项目 你下
  • 如何在watir中找到data-id?

    我是 watir 测试的新手 有人能帮我找到以下元素吗 div class location picker type level table table div 我喜欢找到这个div data loc type with table存在 e
  • 设置一个带有 JQuery 掩码的文本字段

    使用 watir webdriver 我尝试设置文本字段的值 browser text field id phoneNumbers value input set 5555551234 当我运行该命令时 我可以看到 watir 找到了该字段

随机推荐

  • iOS 7(越狱)无论哪个应用程序在最前面如何截取整个屏幕

    iOS7之前我用的是UIGetScreenImage 可以轻松截图的功能 但是在iOS7中 这个功能已经被弃用了 现在有什么好的方法可以存档吗 谢谢 添加 我需要在任何视图下截取整个屏幕的屏幕截图 我遇到了同样的问题 但不知道如何解决 I
  • 以编程方式发送短信Android(未接收状态)

    我在用http mobiforge com developing story sms messaging android http mobiforge com developing story sms messaging android逐字
  • 重写比较器接口的比较方法时使用什么排序算法?

    Collections sort ar new Comparator
  • 为什么gdb需要root权限才能调试用户程序?

    我已经相当成功地使用 gdb 一段时间了 但我最近升级了我的 Ubuntu 版本 现在看来 如果我以 root 身份运行 我只能让 gdb 成功运行我的程序 那是 gdb q sleep ex run 60 Reading symbols
  • 如果 Cassandra 报告失败但进行了部分写入该怎么办?

    Cassandra 不保证原子行为 因此一个副本失败但其他副本确实保留更改的可能性很小 是否有任何信息如何防范这种情况以及如果发生这种情况应采取哪些措施来治愈它 卡桑德拉在这方面能自我治愈吗 Update 我特别关注这样一种情况 您向所有副
  • 如何为 Android 汽车操作系统构建 AOSP?

    我已经从 x86 下载了 AOSP 代码库https www android x86 org https www android x86 org 它构建得很好 我想知道我如何设置config or mk 这样我就可以编译或构建具有 Andr
  • 如何告诉 Valgrind 完全抑制特定的 .so 文件?

    我正在尝试在我正在开发的程序上使用 Valgrind 但 Valgrind 为我正在使用的库之一生成一堆错误 我希望能够告诉它抑制涉及该库的所有错误 我可以为抑制文件提出的最接近的规则是 rule name Memcheck Cond ob
  • javascript: 这个关键字

    I know this指向函数操作的当前对象 所以这是根据定义的代码 function foo alert this output window 所以 现在函数 foo 等于 window foo 但现在在这里 function foo f
  • 为什么这个 Haskell 程序中没有使用尾部调用优化?

    以下程序会破坏堆栈 find first occurrence Eq b gt b gt b gt Int gt Int find first occurrence e i 1 find first occurrence e x xs i
  • *tmp*[[j]] 中的错误:下标超出范围

    抱歉帖子太长 我是 R 新手 一直在努力提高对这门语言的掌握 我偶然发现了这个有趣的足球结果建模项目 http www1 maths leeds ac uk voss projects 2010 sports JamesGardner pd
  • 如何检查某种情况是否持续超过 15 分钟?

    以下是数据集的示例 Date Value 2020 01 01 01 35 50 2020 01 01 01 41 49 2020 01 01 01 46 50 我想检查连续 15 分钟的 值 是否等于 50 如果是 我想提取它发生的日期
  • 触摸事件 (touchesMoved) 不适用于 UIScrollView 内的 UIView

    我有一个UIView里面一个UIScrollView 以及UIViewControllers对于那些没有接收触摸事件的视图 如果我将视图从滚动视图中取出 那么它就可以工作 UserInteraction 在所有视图中都是默认打开的 但它仍然
  • 如何授予特定用户对特定节点的编辑权限?

    如何授予特定用户对特定节点的编辑权限 我有一个名为 学生 的用户角色 多个用户具有该角色 但只有少数用户可以编辑节点 我怎样才能意识到这一点 我将尝试介绍一些用例 以及如何解决它们 If all members of a category
  • 插入行并获取生成的 ID

    我正在尝试使用 Spring 的JdbcTemplate类将行插入到名为的 MySQL 表中transaction并获取生成的ID 相关代码是 public Transaction insertTransaction final Trans
  • 如何使用 Objective C 更改 iOS 设备的系统壁纸/背景?

    我很好奇是否可以通过您自己的应用程序以编程方式更改 iOS 设备的系统壁纸 背景 Apple 不提供公共 API 来执行此操作 用户必须通过 设置 应用程序选择要用作壁纸的图片 您可以让您的应用将图片保存到用户保存的照片中 并指示用户手动更
  • 如何在 Symfony 2.0 中使用元标签

    我不知道如何在我网站的所有页面中添加元标签 正确的 您可以将元标记放入网站的基本布局中 对于更复杂的愿望 您可以将它们放入一个块中 如果您愿意 您可以在特定模板中覆盖它们 有关更多信息 请查看 Symfony2 文档创建和使用模板 http
  • Javascript 正则表达式模式 \W 是否包含空格?

    我正在使用这个表达 W g匹配除数字 字母和空格之外的所有字符 好像是包含空格的 我将如何构建一个不包含空格的正则表达式 a z0 9 s ig 解释 Character class which matches characters NOT
  • 找到沿两个平面相交的线

    我试图在 3D 中绘制由两个平面相交形成的线 但我无法理解数学 这已被解释过here http mathinsight org intersecting planes examples and here http mathworld wol
  • 如何使用 Espresso 点击 Android 图库

    我们目前正在使用 Espresso 测试一个 Android 应用程序 我们要测试的功能之一是从本地图片库中选择图片 图像 我们可以一路调出图库视图 但无法在结果窗口中从 最近 下载 图库 中进行选择 下面包含了我们如何取得如此进展的一个片
  • Watir Webdriver 计算 UL 列表中的项目数量

    我进行了一些搜索 但无法找到合适的答案 基本上我有一个长度不同的无序列表 我想遍历列表 做一些其他事情 然后返回并选择列表中的下一个项目 当我定义循环应该迭代的次数时 我可以很好地做到这一点 因为我知道列表中的项目数量 但是我不想为每个测试