【问题标题】:how to get the 3rd last value boo using selenium-webdriver?如何使用 selenium-webdriver 获得倒数第三个值 boo?
【发布时间】:2013-01-23 18:19:39
【问题描述】:
<a href="/app1/data/r.doc">  foo    </a>
<a href="/app2/data/r.doc">  boo    </a>
<a href="/app3/data/r.doc">  loo    </a>
<a href="/app3/data/r.doc">  goo    </a>

从下面的html 部分,我必须找出倒数第三个text ... 现在要访问我编写的以下代码(used selenium-webdriver):

all_links=driver.find_elements :tag_name, "a"

all_links.each do|link|

puts link.attribute("href")
puts link.text()

end

那么现在如何使用selenium-webdriver 获得倒数第三个值boo?我告诉上面的倒数第三个foo 可能还有 100 个。

有什么建议吗?

【问题讨论】:

    标签: ruby selenium-webdriver ruby-1.9.3


    【解决方案1】:

    您可以获得任何具有负索引的数组的倒数第三个元素:

    array = [:foo, :bar, :baz, :qux]
    array[-3] # => :bar
    

    所以你的情况

    all_links = driver.find_elements(:tag_name, "a")
    all_links[-3].text.strip # => "boo"
    

    请注意,您可以使用text 方法而不是attribute("text")

    【讨论】:

      【解决方案2】:

      我找到了一个解决方案如下:

      all_links=driver.find_elements :tag_name, "a"
      
      @linkscollection = Hash.new
      
      all_links.each do|link|
      
      text = link.attribute("text").strip
      href = link.attribute("href").strip
      @linkscollection[text]=href
      
      end
      
      #puts @linkscollection.length
      print @linkscollection.keys[1] #=>boo
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-29
        • 2020-04-30
        • 1970-01-01
        • 2018-07-01
        • 1970-01-01
        • 2018-05-04
        • 1970-01-01
        相关资源
        最近更新 更多