0

私はブートストラップのウェブサイトを持っており、何らかの理由でドロップダウンが機能しなくなりました。Capybara Poltergeistはクリック後にドロップダウンを切り替えません

私のドロップダウン

<li class="dropdown nav-item"> 
    <a id="toggle-link">Click to reveal </a> 
    <div class="dropdown-menu dropdown-menu-right"> 
     <a id="inside-dropdown" href="/profile/edit">Mon compte</a> 
    </div> 
</li> 

カピバラは

find('a#toggle-link').click 

んが、何もポルターガイストに起こらない、ドロップダウンメニューは、もはや明らかにした(サファリのセレンと罰金)ベンガルされていません。 htmlのスクリーンショットを見ると、javascriptがドロップダウンリストに「オープン」クラスを追加できなかったように見えます

私は宝石を増強した宝石の更新を除いて、

誰でもこのような問題を経験したカピバラが2.7.1からぶつかった(しかし、私はロールバックしようとした、何も変更していない)?

カピバラ2.10.1 ポルターガイスト1.10.0 キュウリ2.4.0 Rails5は

EDIT:after my宝石のアップグレード、顕著な変化

  • カピバラ2.7.1 - > 2.9.1
  • ブートストラップ4.0.0.alpha3.1 - > 4.0.0alpha4
  • 5.0.0.rc1 - > 5.0.0.1
+0

イベントリスナーを追加する競合状態である可能性があります。リンクがクリックされる前に睡眠を追加してみましょう。 –

+0

提案をいただきありがとうございますが、一部の睡眠を追加しても変更されませんでした。 Capybaraが実行される前にDOM全体がロードされているため(キャピバラがafaikのような共通の同期の問題を避けるように設計されているため)、競合状態になる可能性はありません。 –

+0

@ CyrilDuchon-Doris特に、JSリソースが他のJSによって必要に応じてロードされている場合、競合状態が存在する可能性があります。あなたはどのバージョンのphantomjsを実行していますか?クリックハンドラーを変更するブートストラップやその他のものをアップデートしましたか? –

答えて

0

私たちは同じ種類の問題を経験しました。私たちの場合、phantomjsはサポートされていないES6キーワードのためにjsソースを解析できませんでした。しかし、例外は発生せず、ただ静かに失敗します。ドロップダウンのクリックを処理するコードを含め、jsスタック全体がロードされませんでした。

+0

ここに関連する問題があります。https://github.com/teampoltergeist/poltergeist/issues/823 – kmmndr

+0

本当に私が当時の問題でした!答えを投稿するのを忘れました... –

関連する問題