になるまで、ruby watirスクリプトに問題があります。最後のすべての次のページをクリックして、最後のページがWatirの宝石
最後のページまで次のすべてのページをクリックしてから、姓と名字を入れたいと思います。私は最後の "次の"リンクがもう一つのクラス "disabled"と呼ばれていることを知っていますstop = b.link(class: 'next-pagination page-link disabled')
。
' /Users/vincentcheloudiakoff/Travail/Automation/lib/linkedin.rb:22:inこのコードは、要素が存在するのを待っているデフォルトのタイムアウトの期間眠っています。このクラスは、私はこのエラーを持っている
break if stop.exists?
loop do link = b.link(class: 'next-pagination page-link') name_array = b.divs(class: 'name-and-badge-container').map { |e| e.div(class:'name-container').link(class: 'name-link profile-link').text.split("\n") } puts name_array stop = b.link(class: 'next-pagination page-link disabled') break if stop.exists? link.click end
に到達するまで は私がループにしてみてください。テストがまだ合格であれば、Element#の使用を検討してください。 UnknownObjectExceptionを救済する代わりに /Users/vincentcheloudiakoff/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/watir-6.2.1/lib/watir/elements/element.rb:496:in
rescue in wait_for_exists': timed out after 30 seconds, waiting for #<Watir::Div: located: false; {:class=>"name-and-badge-container", :tag_name=>"div", :index=>13}> to be located (Watir::Exception::UnknownObjectException) from /Users/vincentcheloudiakoff/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/watir-6.2.1/lib/watir/elements/element.rb:486:in
wait_for_exists ' /Users/vincentcheloudiakoff/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/watir-6.2.1/lib/watir/elements/element.rb:487:inwait_for_exists' from /Users/vincentcheloudiakoff/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/watir-6.2.1/lib/watir/elements/element.rb:487:in
wait_for_exists ' /Users/vincentcheloudiakoff/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/watir-6.2.1/lib/watir/elements/element.rb:639:inelement_call' from /Users/vincentcheloudiakoff/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/watir-6.2.1/lib/watir/elements/element.rb:91:in
テキスト ' /Users/vincentcheloudiakoff/Travail/Automation/lib/linkedin.rb:24:inblock (2 levels) in start' from /Users/vincentcheloudiakoff/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/watir-6.2.1/lib/watir/element_collection.rb:28:in
それぞれ' /Users/vincentcheloudiakoff/.rbenv/versions/2.4.1/lib/ruby/gems/2.4から。 0/gems/watir-6.2.1/lib/watir/element_collection.rb:28:each' from /Users/vincentcheloudiakoff/Travail/Automation/lib/linkedin.rb:24:in
のマップ '/Users/vincentcheloudiakoff/Travail/Automation/lib/linkedin.rb:24:inblock in start' from /Users/vincentcheloudiakoff/Travail/Automation/lib/linkedin.rb:22:in
ループから
start' from start.rb:3:in
から'
次のページをクリックしますが、次の無効なボタンは見つかりません。
htmlパーツは提供できますか? 、私はそのリンクを見つけるより良い方法を見つけるかもしれません。あなたのコードの問題は、その要素の位置を特定していないことです。 – RAJ
はい、HTML部分は次のとおりです: Suivant これは最後の "次の"リンクのhtml部分です –
テキストを使用してその要素を探してみませんか?それはうまくいくだろう。 – RAJ