アクションを実行してボタンをクリックしてから、ページをリロードしない限りボタンが表示されません。そして、ボタンを表示するのに時間がかかることがあり、ページを複数回リロードする必要があります。私は静的な遅延を入れたくありません。だから、カピバラやルビーを使用して、次の達成するための方法がある:capybaraとrubyを使用してボタンが表示されるまでページをリロードする方法
do
page.evaluate_script("window.location.reload()")
until a button appears
@waqas 'page.has_selector(...)'は 'page.has_selector?(...)'でなければなりません。それ以外の場合は動作しません。 –
@MesutGüneşありがとう。コードスニペット内で修正され、修正されました。 – smefju
'page.has_selector?'は、要素が表示されない場合に最初の試行が終了する前にTimeoutがトリガーするため、実際には再試行されないように、要素が表示されるようにCapybara.default_max_wait_timeまで待機します。 –