【问题标题】:watir webdriver print the count of a list itemWatir webdriver 打印列表项的计数
【发布时间】:2017-11-22 07:10:25
【问题描述】:

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

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

<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 是否足以完成这项任务?

【问题讨论】:

    标签: ruby rspec webdriver watir


    【解决方案1】:

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

    举个例子,

    office_lists = browser_driver.li(:class, 'office')
    office_list = browser_driver.li(:class, 'office')
    
    office_list = Hash.new 0
    

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

    我不明白您是要计算特定列表下的链接还是要计算列表总数。

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

    p browser.li(:class, 'office').links.count
    

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

    如果要计算列表的总数,请编写以下代码

    count= browser.lis(:class, 'office').count #its `lis` not `li`
    puts "There are #{count} number of offices in the list"
    

    【讨论】:

      【解决方案2】:

      您可以使用内置的lis 方法代替滚动您自己的方法,该方法返回li 元素的集合。

      下面是一个示例,它收集类属性为“office”的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>
      

      女仆sn-p:

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多