WEBサイトに遷移した際にページ読込みが完了するまで待機したいのですが、
該当のWEBサイトがHTMLを読み込んだ後にjavascript等で動的にフロントを構築しているようで
以下試してみましたが、明らかにページの表示が完了する前に次の処理を実行していました。
何か良い方法はないでしょうか。
①「要素を探す」アクティビティの「アクティブ化を待つ」「表示を待つ」を「True」
②「要素を確認」アクティビティの「ページの読み込みを待機」を「Complete」
WEBサイトに遷移した際にページ読込みが完了するまで待機したいのですが、
該当のWEBサイトがHTMLを読み込んだ後にjavascript等で動的にフロントを構築しているようで
以下試してみましたが、明らかにページの表示が完了する前に次の処理を実行していました。
何か良い方法はないでしょうか。
①「要素を探す」アクティビティの「アクティブ化を待つ」「表示を待つ」を「True」
②「要素を確認」アクティビティの「ページの読み込みを待機」を「Complete」
こんにちは
基本的には非同期に生成される要素が分かっているようなら、それを対象に要素の存在を確認アクティビティやアプリのステート確認アクティビティ等を用いて確認するになるかと思います。
上記について何か不具合が起こっていますでしょうか?リトライスコープ等で、そのような場合は処理を繰り返す方法もあるかと思います。
いつもお世話になっております。
非同期に生成される要素が分かっているようなら、それを対象に要素の存在を確認アクティビティやアプリのステート確認アクティビティ等を用いて確認
おっしゃる通りで生成される要素は判明していて、
その要素を対象に存在確認やアプリのステート確認を使用してみましたが、
生成される要素が表示される前に次の処理に進んでしまっているという状況です。
特にエラー等は発生していません。
要素を探すの、表示を待つオプションでもうまくいきませんでしょうか?
そうであれば、その対象要素の中で何かの属性が変化していると思うので、それを見出せば検知できるかもしれません。例えばclass等。
セレクターそのものや、属性取得でうまく取れなければInjectJSScriptで取得する必要があるかもしれません。
要素を探すの、表示を待つオプション
上記でも表示前に以降の処理が実行されます。
対象要素の中で何かの属性が変化
特に変化はないようです。
InjectJSScriptで取得する必要があるかもしれません。
javascriptでページ読込み待機は
window.onload = function() { * }
or
window.addEventListener('load', function() { * });
だと思うのですが、
「InjectJSScript」アクティビティではどのように記載すればよろしいでしょうか?
要素の存在確認等で、存在と判断されるているとのことで、セレクターが適切に指定されているのであれば、すでに当該要素が存在していることを示唆しています。
それがなんらかのタイミングで表示されているのであれば、その要素のなんらかの属性が変化していることが推定されます。
それをInjectJSScriptのJavaScriptあるいは、何らかの属性で取得するというアプローチを上記しています。
ページ読込み時に存在せず
表示されたときに初めて存在する要素が特定でき
無事ページ読込みの待機を実装できました。
色々なご意見ありがとうございました!
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.