ユーザーのリストを実行し、それぞれを新しいタブで開く必要があります。アクションを実行するとタブが閉じ、リストの次のユーザーを選択するために最初のタブに戻ります。リスト内の次のユーザーを注文順に選択するのに問題があります。問題は、リストアイテムの子要素である写真をクリックすることによってのみ各ユーザーを選択できることです。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ループに含まれるように私は、私は要素がで現在のLiの子として選択されるように定義するにはどうすればよい
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(:class => '_pg23k _9irns _gvoze').click(:control)
理由を使用する必要がループ内で
あなたは 'user.a(:class => '_pg23k _9irns _gvoze')を試しましたか?(:control)'をクリックしますか? –
@ TarunLalwaniこれはうまくいった!ありがとう、友よ! –
ブラウザの代わりにuserパラメータを使用することは可能ですか? @ TarunLalwani –