Ann*_*net 5 webdriver watir-webdriver page-object-gem
我想在我的页面上检查以下代码:
...
<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>
Run Code Online (Sandbox Code Playgroud)
....
我使用Watir-webdriver和page-object.我需要通过"tags-link"类获取与块相关的所有链接.
我有以下代码:
element(:tags, :p, :css => "tags-link a")
Run Code Online (Sandbox Code Playgroud)
tags_element仅返回第一个链接.
以下代码将仅提供与第一个块相关的3个链接:
element(:tags, :p, :css => "tags-link")
tags_element.element.links.each do |elm|
puts elm
end
Run Code Online (Sandbox Code Playgroud)
但我需要获得所有标签块
现在我有以下代码可行,但我想成为"页面对象"导向:
@browser.elements(:css =>".tags-link a").each do |tag|
puts tag
end
Run Code Online (Sandbox Code Playgroud)
你可以帮助我...使用页面对象获取与"tags-link"相关的页面上的所有链接
谢谢,安娜
您可以使用links以下命令在页面对象中定义链接集合:
class MyPage
include PageObject
links(:tag_link, :css =>".tags-link a")
end
Run Code Online (Sandbox Code Playgroud)
这将创建一个collection_name_elements返回匹配的页面对象元素数组的方法.您可以迭代它以对每个元素执行操作.例如,要输出每个链接的文本:
page.tag_link_elements.each do |link|
puts link.text
end
#=> test1
#=> test2
#=> test3
#=> test4
#=> test5
#=> test6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4741 次 |
| 最近记录: |