首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >watir webdriver打印列表项的计数

watir webdriver打印列表项的计数
EN

Stack Overflow用户
提问于 2017-06-20 07:01:44
回答 2查看 446关注 0票数 0

我正在尝试获取网页中列表项的计数,并输出以下内容:

代码语言:javascript
运行
复制
office_lists = browser_driver.li(:class, 'office')
office_list = browser_driver.li(:class, 'office')

office_list = Hash.new 0
office_list.links.each do |link|
  office_list[link] += 1
  puts office_list

但我一直没有成功。我希望有人能帮我。假设这些都是我在页面上写的东西

代码语言:javascript
运行
复制
<li class=‘office’></li>
<li class=‘office’></li>
<li class=‘office’></li>
<li class=‘office’></li>
<li class=‘office’></li>
<li class=‘office’></li>

然后我想把它放在某种数组对象中,然后获得计数并输出项目的数量,如下所示:

代码语言:javascript
运行
复制
puts "There are #{count} number of offices in the list"

任何帮助都将不胜感激。另外,我是否需要诸如"pp“或"p”之类的内容,或者watir是否足以完成此任务?

EN

回答 2

Stack Overflow用户

发布于 2017-06-20 15:11:43

您正在覆盖您首先声明的内容

举个例子,

代码语言:javascript
运行
复制
office_lists = browser_driver.li(:class, 'office')
office_list = browser_driver.li(:class, 'office')

office_list = Hash.new 0

您正在使用哈希替换office_list,因此您的browser_driver.li(:class, 'office')在office_list中将不再可用。

我不明白你是想计算特定列表下的链接数量,还是想计算列表的总数。

如果您想要计算特定列表下的链接,请编写以下代码

代码语言:javascript
运行
复制
p browser.li(:class, 'office').links.count

上面的行将打印该列表下的链接数

如果您想统计列表的总数,请编写以下代码

代码语言:javascript
运行
复制
count= browser.lis(:class, 'office').count #its `lis` not `li`
puts "There are #{count} number of offices in the list"
票数 1
EN

Stack Overflow用户

发布于 2017-06-20 08:36:19

您可以使用内置的lis方法,它返回li元素的集合,而不是使用您自己的方法。

下面是一个示例,它收集类属性为“li”的办公室元素,然后链接Array::count以返回集合中元素的数量:

HTML (在名为foo.rb的本地文件中):

代码语言:javascript
运行
复制
<li class='office'></li>
<li class='office'></li>
<li class='office'></li>
<li class='office'></li>
<li class='office'></li>
<li class='office'></li>

watir代码片段:

代码语言:javascript
运行
复制
require 'watir'

b = Watir::Browser.new :chrome
b.goto "file:///C:/foo.html"
count = b.lis(class: 'office').count
puts count
#=> 6
puts "There are #{count} number of offices in the list"
#=> There are 6 number of offices in the list
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44641219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档