我需要遍歷用戶列表並在新標籤中打開每個用戶。執行操作後,該選項卡應關閉,並返回第一個選項卡以選擇列表中的下一個用戶。我無法按順序選擇列表中的下一位用戶。問題是每個用戶只能通過點擊他們的照片來選擇 - 這是列表項的子元素。如何在each.do列表迭代中選擇每個li的子元素?
HTML
<div class="_gs38e">
<ul class="_8q670 _b9n99">
<li class="_6e4x5">
<div class="_npuc5">
<a class="_pg23k _9irns _gvoze" style="width: 100px; height: 100px;">
<img class="_rewi8" src="https://pic.com/t51.2885-
_1930374081979351040.jpg"></a>
<div class="_eryrc">
<a class="_2g7d5 notranslate _o5iw8" title="username1_"
href="/username1_/">username1_</a>
</div>
</div>
</li>
<li class="_6e4x5">
<div class="_npuc5">
<a class="_pg23k _9irns _gvoze" style="width: 100px; height: 100px;">
<img class="_rewi8" src="https://pic.com/t51.2885-
_1930374081979351040.jpg"></a>
<div class="_eryrc">
<a class="_2g7d5 notranslate _o5iw8" title="username1_"
href="/username1_/">username1_</a>
</div>
</div>
</li>
<li class="_6e4x5">
<div class="_npuc5">
<a class="_pg23k _9irns _gvoze" style="width: 100px; height: 100px;">
<img class="_rewi8" src="https://pic.com/t51.2885-
_1930374081979351040.jpg"></a>
<div class="_eryrc">
<a class="_2g7d5 notranslate _o5iw8" title="username1_"
href="/username1_/">username1_</a>
</div>
</div>
</li>
<li class="_6e4x5">
<div class="_npuc5">
<a class="_pg23k _9irns _gvoze" style="width: 100px; height: 100px;">
<img class="_rewi8" src="https://pic.com/t51.2885-
_1930374081979351040.jpg"></a>
<div class="_eryrc">
<a class="_2g7d5 notranslate _o5iw8" title="username1_"
href="/username1_/">username1_</a>
</div>
</div>
</li>
<li class="_6e4x5">
<div class="_npuc5">
<a class="_pg23k _9irns _gvoze" style="width: 100px; height: 100px;">
<img class="_rewi8" src="https://pic.com/t51.2885-
_1930374081979351040.jpg"></a>
<div class="_eryrc">
<a class="_2g7d5 notranslate _o5iw8" title="username1_"
href="/username1_/">username1_</a>
</div>
</div>
</li>
</ul>
</div>
這導致在第一用戶每次被選定爲它只是找到所有的列表項頁面上的第一張照片。我添加了用戶名文本的輸出,以確保每個do循環都按順序遍歷列表項。每次打開第一個用戶時,它都會成功打印不同列表項的用戶名。我需要一種方法來定義照片元素作爲每個項目的孩子被列入each.do循環
Mylist = browser.ul(:class => "_8q670 _b9n99")
#Index the UL to open each user in order
Mylist.users.each_with_index do |user|
#open user in new tab by selecting photo
browser.a(:class => '_pg23k _9irns _gvoze').exists?
browser.a(:class => '_pg23k _9irns _gvoze').click(:control)
browser.windows.last.use
#performs action and closes tab
browser.windows.last.close
puts user
puts user.text
end
如何定義的元素被選擇作爲當前華里的孩子清單?
你嘗試'user.a。(:類=> '_pg23k _9irns _gvoze')點擊(對照)'? –
@TarunLalwani這工作!謝謝你,朋友! –
如何使用用戶參數代替瀏覽器? @TarunLalwani –