y.c
(BYC)
1
お世話になっております。
管理サイトからCSVを取得するフローがあったのですが、
サイト側の表示変更により「要素を取得」でエラーになるようになりました。
具体的には、対象のCSVがない場合は画面上に「取引明細情報はありません。」と表示されており、こちらの表示を「要素を取得」させて分岐条件としておりました。
ですが、先日より画面の仕様が変わったのか、対象のCSVがない場合、
「CSVダウンロード」がグレーアウトするだけで、メッセージが表示されなくなりました。
こちらの仕様に対応しなければならないのですが、どのように変更すればよいかご意見をいただけますと助かります。
どうぞよろしくお願いいたします。
Yoichi
(Yoichi)
2
こんにちは
グレーアウトの状態で、Class属性等が違う可能性があるので、まずは元のHTMLあるいは属性取得アクティビティで取れる値に差異がないか確認してみてはと思います。(UiExplorerの属性欄でも確認できるかもしれません)
そこに差があれば、その値を取得して条件分岐すれば良いと思います。
y.c
(BYC)
3
Yoichiさん、ありがとうございます。
あまりHTMLに明るくないので、恐縮ですが・・・
UiExplorerで有効時・無効時の「CSVダウンロード」ボタンの要素を選択して値を確認しました。
astateはいづれも「enable」のようです。aanameが有効時は「CSVダウンロード」となっているので、これで識別できないか試したのですが、無効時も「CSVダウンロード」の値が返ってきてしまいます。
参考になるか分からないのですが、UiExplorerで有効時・無効時の要素を選択した時のキャプチャ貼らせていただきます。
なにか差異になる条件はないでしょうか・・・?
Yoichi
(Yoichi)
4
こんにちは
上下の画像で指示している要素が異なります。
前者はA要素、後者はDIV要素を示していますので可能性としては
可能性1.指示している要素が上下で異なる。(Studioでの要素選択の問題)
→A要素、DIV要素それぞれで同じ要素を取得するよう指定した上で、差異がないか比較するようにしてください。
セレクターで表示されているClass属性もあわせて確認ください。
可能性2.ダウンロードできないケースはA要素が存在しない構成になっている。
→この場合はCheckAppStateでA要素を含むセレクターで、要素有無判別ができると思います。
y.c
(BYC)
5
Yoichiさん、ありがとうございます。
理解が間違っていたら、申し訳ございません。。。
UiExplorerでの指定している要素は同じになるかと思います。
「CSVダウンロード」ボタンがオン・オフの時でそれぞれ選択しています。
となると可能性2になるのかと思うのですが、
「CheckAppStateでターゲットをA要素を含むセレクターで、要素有無判別」は具体的にどのようにすればよいのでしょうか?
画面上でターゲット指定で「CSVダウンロード」ボタンを指定して、
メッセージボックスで表示するようにとりあえず作ってみたのですが、
これだとどんな状態でも、画面上でターゲットを指定した時の値が返ってきてしまします。
上の図ですと、有効の際に指定したので、その後デバックで無効の場合も「有効です」と返ってきています。。。
Yoichi
(Yoichi)
6
セレクター文字列はどのようになっていますでしょうか?tag=‘A’ aaname=‘CSVダウンロード’ のような感じでしょうか?
もしこれが無効時も「存在」となるなら、要素は存在していると思います。ただし「不可視」になっていて選択できないかもしれませんので、UiExplorerのツリー部分でその要素が無いか確認→あれば、その要素の属性に差がないか確認してみてください
y.c
(BYC)
7
すみません、あまりに疎くて申し訳ございません。。。
セレクタ―文字列は、ボタンの有効時・無効時にそれぞれ選択して、
ツリー部分で見比べれば判断できるということでしょうか?
ボタンが有効時
ボタンが無効時
Yoichi
(Yoichi)
8
こんにちは
無効時に、このDIV要素を最後まで展開して、A要素がなければ、そのA要素の有無で判断できると思います。(念のため、上下のDIVも展開してみて、無いことを確認した方が良いかと思います。)
一度リンク有効時の状態で、アプリのステートを確認アクティビティで要素指定=厳密セレクターで指定するようにして、そのセレクター文字列にA要素が入るようにして、識別できるかを確認してみてはと思います。
y.c
(BYC)
9
ありがとうございます。
展開したところ、A要素が入っているように見えます。
一度リンク有効時の状態で、アプリのステートを確認アクティビティで要素指定=厳密セレクターで指定しても、やはり「有効」と戻ってきてしまいます。
ボタンが有効時
ボタンが無効時
Yoichi
(Yoichi)
10
上記を見ますと、有効時と比べて、無効時には当該Aタグにhref属性が設定されていないように見えます。
この場合、属性取得アクティビティでこのA要素を指定して、href属性を取得して判断ができるかもしれません。
(画面上での取得が難しい場合は、UiExplorerで右クック→ターゲット要素として指定で指定→そのセレクター情報を使用すると良いかと思います、)
1 Like
y.c
(BYC)
11
ありがとうございます。
ターゲットを「厳密セレクタ」にして、
可視性を確認を「完全に表示されている」にしたら
想定している動きになりました!