我正在尝试获取网页中列表项的计数,并输出以下内容:
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但我一直没有成功。我希望有人能帮我。假设这些都是我在页面上写的东西
<li class=‘office’></li>
<li class=‘office’></li>
<li class=‘office’></li>
<li class=‘office’></li>
<li class=‘office’></li>
<li class=‘office’></li>然后我想把它放在某种数组对象中,然后获得计数并输出项目的数量,如下所示:
puts "There are #{count} number of offices in the list"任何帮助都将不胜感激。另外,我是否需要诸如"pp“或"p”之类的内容,或者watir是否足以完成此任务?
发布于 2017-06-20 08:36:19
您可以使用内置的lis方法,它返回li元素的集合,而不是使用您自己的方法。
下面是一个示例,它收集类属性为“li”的办公室元素,然后链接Array::count以返回集合中元素的数量:
HTML (在名为foo.rb的本地文件中):
<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代码片段:
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 listhttps://stackoverflow.com/questions/44641219
复制相似问题