LoginSignup
0
0

More than 3 years have passed since last update.

seleniumIDEで要素の有無をチェック

Last updated at Posted at 2020-02-21

何故やろうとしたのか

ログイン画面対策のため
→ログイン後に再度アクセスした際にログイン画面が無いと、フロー上にあるログイン画面での処理部分でseleniumIDEが止まる
→見かけた『${!LastCommandOK}がtrueかどうかで判断』が上手く機能しなかったため
 →具体的にはverifyElementPresentをif文の前でかけると1回目は問題ないのだが、2回目以降で走らせると確実にfalseになる状況でもなぜか貫通してtrue側を通ってしまった なんで?(憤怒)

どうやった

ログイン画面に「のみ」ある要素の数を「store xpath count」で数え、それが1かどうかで判断
→「0かどうか」の判断の方が考えやすいかもしれない

コード

store xpath count | xpath=//input[@value='ログイン'] | id
if         |${id}==="1" ←ここは適宜書き換えで
 ~ログインID記入なりパスワード記入なりログインボタンクリックなりの「ログイン画面における処理」~
end

"特定画面にのみある要素"の"数"を判別の基準にしてる
今回はたまたまログイン画面における"input"且つ"valueがログイン"の要素が一つだけだったのでこの形で行けたが、ちと汎用性に欠ける気がせんでもない

オチ

seleniumIDEは記録した後にこまい部分を書き換えられるのが良いね
ブラウザで完結するものならば、ボクがpython使って書いてる普通のseleniumよりも直感的で扱いやすい感じ
この要素数が0かそれ以外かはボクがVBAでよく使っていた条件式だから、色々と使える考え方だと思う

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0