首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Watir,Page-objects:如何获取具有相同标识符的所有元素

Watir,Page-objects:如何获取具有相同标识符的所有元素
EN

Stack Overflow用户
提问于 2013-06-24 21:28:22
回答 2查看 5K关注 0票数 5

我在我的页面上有以下代码代码,我想检查一下:

代码语言:javascript
复制
...    
<p class="tags-link"> 
<a href="/search?q=test1" rel="nofollow">test1</a>
<a href="/search?q=test2" rel="nofollow">test2</a> 
<a href="/search?q=test3" rel="nofollow">test3</a>
</p>
....
<p class="tags-link"> 
<a href="/search?q=test4" rel="nofollow">test4</a>
<a href="/search?q=test5" rel="nofollow">test5</a> 
<a href="/search?q=test6" rel="nofollow">test6</a>
</p>

……

我使用Watir-webdriver和page-object。我需要获得与“标签-链接”类的块相关的所有链接。

我有以下代码:

代码语言:javascript
复制
element(:tags, :p, :css => "tags-link a")

tags_element仅返回第一个链接。

下面的代码只会给我3个与第一个块相关的链接:

代码语言:javascript
复制
element(:tags, :p, :css => "tags-link")
tags_element.element.links.each do |elm|
  puts elm
end

但是我需要获取所有的标记块

现在我有了以下可以工作的代码,但我希望是面向“页面对象”的:

代码语言:javascript
复制
@browser.elements(:css =>".tags-link a").each do |tag|
  puts tag
end

你能帮助me...to使用页面对象获取页面上与“标签-链接”相关的所有链接吗?

谢谢,安娜

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-24 21:55:44

可以使用links在页面对象中定义链接集合

代码语言:javascript
复制
class MyPage
    include PageObject

    links(:tag_link, :css =>".tags-link a")
end

这将创建一个collection_name_elements方法,该方法返回一个匹配的页面对象元素数组。您可以遍历它以对每个元素执行操作。例如,要输出每个链接的文本:

代码语言:javascript
复制
page.tag_link_elements.each do |link|
    puts link.text
end
#=> test1
#=> test2
#=> test3
#=> test4
#=> test5
#=> test6
票数 7
EN

Stack Overflow用户

发布于 2013-08-09 03:06:16

这就是你所需要做的:

代码语言:javascript
复制
ary_of_tests = @browser.ps(:class, 'tag-links').map do |t|
    t.as.map do |x| 
        x.text 
    end 
end
=> [["test1", "test2", "test3"], ["test4", "test5", "test6"]]

如果您不喜欢动态数组,您总是可以使用flatten方法将其转换为一维,或者使用to_s方法将其转换为字符串。定义一个新的类和指定场景对我来说似乎有点过头了,但对每个人来说都是各有千秋。

注意: ps(: class,‘tag-link)是给定页面的DOM中具有属性class和value tag-link的所有p元素的集合。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17276695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档