Web上(IE)のalt属性を含む要素をクリックします。クリックに成功した場合はTrue、失敗した場合はFalseを返します。
- 構文
- Boolean = altClick( IE, alt, num = 1, fullMatchFlg = FALSE )
- 引数
- IE
- IEオブジェクト
- alt
- クリックするalt属性
- num
- 何番目をクリックするか
- fullMatchFlg
- 完全一致した要素をクリックする場合はTrue、部分一致した要素の場合はFalseを指定
- 戻値
- TRUE
- 成功
- FALSE
- 失敗
プログラム
//////////////////////////////////////////////////
// 【引数】
// IE : IEオブジェクト
// alt : クリックするalt属性
// num : 何番目をクリックするか
// fullMatchFlg : 完全一致した要素をクリックする場合はTrue、部分一致した要素の場合はFalseを指定
// 【戻値】
// TRUE : 成功、FALSE : 失敗
//////////////////////////////////////////////////
FUNCTION altClick(IE, alt, num = 1, fullMatchFlg = FALSE)
DIM cnt = 0
IMG_LST = IE.document.Images
IFB num = -1 THEN
FOR n = 0 TO IMG_LST.length - 1
SELECT fullMatchFlg
CASE TRUE
IF IMG_LST.Item(n).Alt = alt THEN cnt = cnt + 1
CASE FALSE
IF POS(alt, IMG_LST.Item(n).Alt) <> 0 THEN cnt = cnt + 1
SELEND
NEXT
RESULT = cnt
ELSE
DIM flg = FALSE
FOR n = 0 TO IMG_LST.length - 1
SELECT fullMatchFlg
CASE TRUE
IFB IMG_LST.Item(n).Alt = alt THEN
cnt = cnt + 1
IFB cnt = num THEN
IMG_LST.Item(n).Click()
flg = TRUE
BREAK
ENDIF
ENDIF
CASE FALSE
IFB POS(alt, IMG_LST.Item(n).Alt) <> 0 THEN
cnt = cnt + 1
IFB cnt = num THEN
IMG_LST.Item(n).Click()
flg = TRUE
BREAK
ENDIF
ENDIF
SELEND
NEXT
RESULT = flg
ENDIF
FEND
解説
- 2行目
画像の数を代入する変数cntを宣言。DIM cnt = 0
- 3行目
Webページ上にある画像情報を取得。IMG_LST = IE.document.Images
- 5-13行目
画像の数だけループ。FOR n = 0 TO IMG_LST.length - 1 SELECT fullMatchFlg CASE TRUE IF IMG_LST.Item(n).Alt = alt THEN cnt = cnt + 1 CASE FALSE IF POS(alt, IMG_LST.Item(n).Alt) <> 0 THEN cnt = cnt + 1 SELEND NEXT RESULT = cnt
- fullMatchFlgがTRUEならば
- n番目の画像のalt属性が変数altと完全一致していたら、変数cntをインクリメントする。
- fullMatchFlgがFALSEならば
- n番目の画像のalt属性に変数altが含まれて(部分一致して)いたら、変数cntをインクリメント。
- 15-38行目
画像の数だけループ。DIM flg = FALSE FOR n = 0 TO IMG_LST.length - 1 SELECT fullMatchFlg CASE TRUE IFB IMG_LST.Item(n).Alt = alt THEN cnt = cnt + 1 IFB cnt = num THEN IMG_LST.Item(n).Click() flg = TRUE BREAK ENDIF ENDIF CASE FALSE IFB POS(alt, IMG_LST.Item(n).Alt) <> 0 THEN cnt = cnt + 1 IFB cnt = num THEN IMG_LST.Item(n).Click() flg = TRUE BREAK ENDIF ENDIF SELEND NEXT RESULT = flg
- FullMatchFlgがTRUEならば
- n番目のalt属性が変数altと完全一致したら、変数cntをインクリメントする。変数cnt・numが等しくなったら、n番目の画像をクリックする。変数flgにTRUEを代入してFOR文を抜ける。
- FullMatchFlgがFALSEならば
- n番目のalt属性が変数altと部分一致したら、変数cntをインクリメントする。変数cnt・numが等しくなったら、n番目の画像をクリックする。変数flgにTRUEを代入してFOR文を抜ける。
この記事は役に立ちましたか?