お世話になります。
Ruby seleniumを使っています。
xpathとループ処理で要素を取得しているのですがうまくいきません。
要素が存在しない場合に処理がうまくいかなくなっているようです。
要素の数を予め取得する方法があれば、もしくは要素が存在していなくても処理が終了しない方法があればと思うのですが、どうしたらよろしいでしょうか?
num = 1
while num < 18 do
puts num
elements = wd.find_element(:xpath, '//div[@class="test test2"][num]/div[1]').attribute('data-id')
#要素が存在しない場合、処理が終了してしまう↓↓ if wd.find_element(:xpath, '//div[@class="test test2"][' + num.to_s + ']/div[1]').attribute('data-id').size != 0 dataid = wd.find_element(:xpath, '//div[@class="test test2"][' + num.to_s + ']/div[1]').attribute('data-id') puts dataid else #要素が存在していない場合の処理のつもりですが、効かない puts "NG" end num = num + 1
end
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。