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行目
- 画像の数だけループ。fullMatchFlg(完全一致フラグ)がTRUEでn番目の画像のalt属性と変数altが完全一致していたら、変数cntをインクリメントする。fullMatchFlg(完全一致フラグ)がFALSEでn番目の画像のalt属性に変数altが含まれて(部分一致して)いたら、変数cntをインクリメント。変数cntを戻り値として返す。
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
- 15行目
- 画像をクリックしたかどうかを代入する変数。クリックされたらTrue。
DIM flg = FALSE
- 16-37行目
- 画像の数だけループ。n番目のalt属性が変数altと完全一致または部分一致したら、変数cntをインクリメント。cnt=numでその画像をクリックしflgをTrueにして、FOR文を抜ける。
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
- 38行目
- 変数flgを戻り値として返す。
RESULT = flg
関連記事
- CHKIMG (スクリプト関数)
- 指定画像が画面上にあるかチェックしあればその情報を返します。
- SAVEIMG (スクリプト関数)
- SAVEIMGは、第一引数に指定した絶対パス・相対パスに画像を保存する関数です。第一引数を省略した場合クリップボードに、第二引数に0を指定でスクリーン全体をコピーします。
- getBitmap
- 引数に指定したビットマップ画像のサイズ(px)・幅(px)・高さ(px)・ビットの深さ(bpp)を配列で返します。
- BusyWait
- 引数に指定したInternetExplorerオブジェクトの読み込みが完了するのを待ちます。
- getIEObj
- 引数に指定した「タイトル」または「URL」を含むInternetExplorerオブジェクトを返します。数値nを指定した場合、n番目に開いたInternetExplorerオブジェクトを取得します。負の数で後ろからn番目。IELINK関数で開かれた新しいタブのInternetExplorerオブジェクトを取得したいときに使います。
- IENoticeBar
- Web上でファイルをダウンロードしたときに出る通知バーの制御を行います。ダウンロードしたファイル名を返します。
- getTableData
- Web上のtableタグのデータを取得し、二次元配列に格納します。
- IEBoot
- InternetExplorerオブジェクトを生成します。iexplorer.exeのプロセスが残っているときにCREATEOLEOBJ関数でInternet Explorerを起動するとエラーが出ることがあるので、それを回避するための関数です。
- DownloadFile
- 指定したURLのファイルをダウンロードします。第一引数にダウンロードするファイルのURL、第二引数にダウンロード先のフォルダ名、第三引数にダウンロードするファイル名を指定します。ダウンロードに成功した場合はTrue、失敗した場合はFalseを返します。