[英]Watir-webdriver : Accessing elements using Indexing
我正在嘗試使用索引訪問li元素
<div class="item-list">
<ul>
<li class="views-row views-row-1 views-row-odd views-row-first">
<li class="views-row views-row-2 views-row-even">
<li class="views-row views-row-3 views-row-odd">
<li class="views-row views-row-4 views-row-even">
<li class="views-row views-row-5 views-row-odd">
<li class="views-row views-row-6 views-row-even">
<li class="views-row views-row-7 views-row-odd">
<li class="views-row views-row-8 views-row-even">
<li class="views-row views-row-9 views-row-odd views-row-last">
</ul>
</div>
我正在使用的代碼是
@browser.div(:class,'item-list').ul.li(:index => 2)
問題是:這些是頁面上的元素,我將使用循環訪問每個元素。 我以為使用索引將解決問題,但是當我編寫代碼並執行它時,出現以下錯誤
expected #<Watir::LI:0x2c555f80 located=false selector={:index=>2, :tag_name=>"li"}> to exist (RSpec::Expectations::ExpectationNotMetError)
如何使用索引訪問這些元素。
如果您有很好的類命名功能,那就不用索引了! 對“ views-row”參數進行部分匹配:
@browser.li(:class => /views-row-1/)
可以輕松地為循環將其參數化(盡管我不知道您對信息的處理方式,所以此循環不會很令人興奮)。
x = 0
until x==9
x+=1
puts @browser.li(:class => /views-row-#{x}/).text
end
如果您願意,也可以盲目瀏覽div
包含的li:
@browser.div(:class,'item-list').lis.each do |li|
puts li.text
end
根據Watir Wiki,Watir 支持 li
元素上的:index
方法。 因此,除非它是watir-webdriver中的錯誤,否則我認為索引應該可以工作。
您可能想嘗試一下watir郵件列表,以查看這是否對其他人有問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.