2017-06-13 1 views
-1

になるまで、ruby watirスクリプトに問題があります。最後のすべての次のページをクリックして、最後のページがWatirの宝石

最後のページまで次のすべてのページをクリックしてから、姓と名字を入れたいと思います。私は最後の "次の"リンクがもう一つのクラス "disabled"と呼ばれていることを知っていますstop = b.link(class: 'next-pagination page-link disabled')

このコードは、要素が存在するのを待っているデフォルトのタイムアウトの期間眠っています。このクラスは、私はこのエラーを持っている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:in wait_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:in element_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:in block (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:in block in start' from /Users/vincentcheloudiakoff/Travail/Automation/lib/linkedin.rb:22:inループから

' /Users/vincentcheloudiakoff/Travail/Automation/lib/linkedin.rb:22:in start' from start.rb:3:inから'

次のページをクリックしますが、次の無効なボタンは見つかりません。

+0

htmlパーツは提供できますか? 、私はそのリンクを見つけるより良い方法を見つけるかもしれません。あなたのコードの問題は、その要素の位置を特定していないことです。 – RAJ

+0

はい、HTML部分は次のとおりです: Suivant これは最後の "次の"リンクのhtml部分です –

+0

テキストを使用してその要素を探してみませんか?それはうまくいくだろう。 – RAJ

答えて

0

)あなたは(親リンクを使用して、b.linkのようにまたがることはありません、その要素

b.span(text: 'Suivant').click 

を見つけるために、テキストを使用します。スパン()の代わりに、あなたは、直接私が持っている道にまたがる見つけることができます説明した。

関連する問題