2
<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

那么现在如何使用 获得倒数第三个booselenium-webdriver?我告诉上面第三个最后foo可以有100个。

请问有什么建议吗?

4

2 回答 2

3

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

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")

于 2013-01-23T22:47:10.377 回答
0

我找到了一种解决方案,如下所示:

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
于 2013-01-23T19:02:51.017 回答