Dojo WebkitとNightmareJSを使用して作成された Web ページをスクレイピングしようとしています。私が遭遇している問題は、ボタンをクリックしてページを進めようとしているときに、ボタンをクリックしようとする前にボタン自体が読み込まれていることを確認する必要があることです。そうしないと、次のようなエラーが表示されます。セレクター」、これは予想されることです。
wait(milliseconds) を追加することは機能しますが、サーバーが遅いか、表示するものが多数ある状況では、読み込みが待機時間をオーバーランする可能性があります。これは明らかに避けたいことです. そこで、wait(selector) メソッドを使用してみましたが、その時点で停止するだけです。このすべての間、Electron ブラウザーは開いており、ページは完全に正常にロードされており、セレクター付きのボタンも含まれています。ボタンをクリックして、すべてを手動で行うことができます。
これが私がやろうとしていることの例です:
nightmare
.click('#button')
.wait('#otherbutton')
.click('#otherbutton')
.catch((error) => console.log('Error:...', error));
最初のボタンがクリックされてページが読み込まれますが、そこでハングアップし、2 番目のクリック機能は発生しません。
編集: Dojo Webkitについて調査した結果、Web ページの読み込み方法を混乱させていると思われる特別なローダーがあることがわかりました。要素がページに読み込まれましたが、Dojo ローダーが根本的な原因であるかどうかはわかりません。それでも、何らかの回避策がある場合はありがたいです。