ruby - 如何使用 selenium-webdriver 获取第三个最后值 boo?

标签 ruby selenium-webdriver ruby-1.9.3

<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 部分,我必须找出...的最后 3 个 text ... 现在要访问我编写的以下代码(使用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 个。

请问有什么建议吗?

最佳答案

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

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

关于ruby - 如何使用 selenium-webdriver 获取第三个最后值 boo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14486608/

相关文章:

ruby - 如何将类方法作为参数传递?

xpath - 如何在 selenium webdriver 中获得 Xpath 计数

python - svg 的 xpath,无法根据路径属性定位

ruby - 了解 ruby​​ 中的方法调用

ruby - 如何使用类似宏的元编程方法扩展 Ruby 模块?

ruby-on-rails - 如何修复 'could not find compatible version for gem "rails”'?

java - 运行 Appium 命令时出错 : ENOENT, 没有这样的文件或目录

ruby-on-rails - 将整个 ruby​​ 应用程序降级到 1.8.7

ruby - 与输出的混淆来自从 IRB 调用的用户定义的实例方法

ssl - 如何在 Ruby 1.9.3 上使用 hipchat-api 避免 SSL 错误?