※当サイト一部記事にはP Rが含まれます

UWSCでログイン・ボタンクリック操作に迷ったら読む。5つのパターン別テクニック

TIPS
この記事は約6分で読めます。

ボタンも画像もOK。UWSCでWEBサイトのクリック操作やログイン処理に悩んだら読んで!HTMLタグ別攻略法。

 

UWSCでWEBサイトのボタンクリック操作(IEのDOM操作)の処理を書くときに、サイトごとにログインページ等のHTMLが違うので、迷っちゃったりすることってありますよね…。

INPUTボタンを使ってる場合も、画像ボタンを使っている場合もありますし、nameやvalue属性があったりなかったり、サイト・ページによって異なりますからね。

 

そんなときは本記事のパターンを参考にしてみてください。

大半のサイトはこちらで自動クリックできるはずです(∩´∀`)∩。

 


「クリックしたいボタンや画像のHTMLタグがどうなってるかわからないよ・・・(´・ω・`)」という初心者さんは、以下の手順でボタンのタグを調べてみてください(Google Chromeの場合)。

 

①調べたいボタンを右クリックして、出てきたメニューの「検証」を左クリックします。

②開発者向けの画面が表示され、ボタンのHTMLタグが表示されます。ここの記述をチェックしてください。

 

 

ログインボタンが「input」要素で「name」属性を持っている

もっとも標準的なボタンと言えるでしょう。特に意識せずにボタンを設置している場合は、このタイプのボタンになっていることが多いのではないかと思います。

本パターンのようなHTMLの場合のクリック処理は以下のようになります。

ログイン部分のHTML

<input class="bt" name="login_page" type="submit" value="ログイン" />

対応するUWSCスクリプトの記述

IESETDATA(IE, 1, "login_page")

 

 

ログインボタンが「input」要素で「name」属性だが、同一「name」が存在する

HTML自体は前述のパターンの場合でも、同一ページ内に同じ「name」属性のボタンが複数存在する場合、うまくクリックすることができない場合があります(常に1個目のボタンをクリックしてしまい、2個目以降のボタンをクリックできない)。

IESETDATAの構文は「戻値 = IESETDATA( IE, 値, Name, [Value, 番号] )」です。なので、同一「name」がある場合は、さらにValue、番号等を指定していけばOKです。

本パターンのようなHTMLの場合のクリック処理は以下のようになります(valueの指定を追加しています。もし、valueも同一の場合は番号で指定しましょう。)。

ログイン部分のHTML

<input type="submit" name="login_button" value="ログインする" />

対応するUWSCスクリプトの記述

IESETDATA(IE, 1, "login_button", "ログインする")

 

 

ログインボタンが「input」要素で「name」属性だが、Value・番号以外で指定したい

「戻値 = IESETDATA( IE, 値, Name, [Value, 番号] )」の「Name」の部分は、タグ名での指定が可能「”TAG=タグ名”」です。

何か事情があり、Value・番号で指定できない場合(Valueがない・同一、または番号が可変)は他の属性で指定しましょう。

本パターンのようなHTMLの場合のクリック処理は以下のようになります。この場合は、nameが無いのでalt属性で指定しています。

ログイン部分のHTML

<input type="image" alt="ログイン" src="/consumer/img/static/btn_login_member280_ie7.png">

対応するUWSCスクリプトの記述

IESETDATA(IE,True,"","alt=ログイン")

 

 

ログインボタンが「input」要素だけど、typeが”submit”

基本は今まで書いてきたパターンと同様、IESETDATAでOKなのですが、属性がついてないような場合もあります。

このようなケースでtypeが「submit」ならば、直接submitした方が良い場合もあります。(ただし、フォームの連番を確認する必要があります)

本パターンのようなHTMLの場合のクリック処理は以下のようになります。

ログイン部分のHTML

<input  class="btn_login_ssl" type="submit" value="ログイン"/>

対応するUWSCスクリプトの記述

IE.document.forms[0].submit()

 

 

ログインボタンが画像(img)

ボタンが画像(img)で配置されており、クリックの動作はscriptで書かれているようなものもあります。こういうのが一番面倒なタイプです。このような場合は対象の画像を探してあげて、クリックしてやる処理を入れます。

本パターンのようなHTMLの場合のクリック処理は以下のようになります。この場合、画面のすべての画像を取得し、alt属性が「ログイン」となっている画像をクリックしています。

ログイン部分のHTML

<img src="/images/common/icon/login.gif" alt="ログイン" name="login_buttom" id="login_buttom" />

対応するUWSCスクリプトの記述

IMG_LST = IE.Document.Images
FOR I = 0 TO IMG_LST.length - 1
    IFB IMG_LST.Item(I).Alt = "ログイン" THEN
        IMG_LST.Item(I).Click()
    ENDIF
NEXT

 

 

 

いかがでしたでしょうか?

これでほとんどのボタンクリック操作は攻略できるはずです!(∩´∀`)∩

まあ、それでも、どうしてもだめだったら、座標指定でクリックしてくださいw

 

クリックしたいのがボタンでなくてリンクの場合は、以下記事を参考にしてください。

UWSCでリンクがクリックできないときに読む。どんなリンクもクリックしちゃう5つの方法。
「なんかリンクがクリックできないよ・・・」を解決します。 UWSCでIE操作を行う場合、「リンクのクリック」をしたいことはよくあります。 特にポイントサイトの場合、画面の遷移だけでなく、クリックポイントや検索ポイントを取得する際にも必要です...

なお、当然ですが、クリックの前にはIEをCREATEOLEOBJしておく必要があります。こういう共通処理はクラス化しておいた方が便利です。

UWSCの共通処理は、別ファイルにクラス化しておくと非常に便利ですよ。
共通処理は別ファイルに部品化しておくと、実装やメンテナンスが効率化できます。 UWSCでスクリプトを作成すると「.UWS」形式のファイルを作成するかと思います。 通常は、目的とする全ての処理をこの「.UWS」のファイルに記述します。 なので...

 

また、どうしてもわからない場合はteratailで質問してみるという手もあります。teratailは幅広いプログラミング技術について何でも質問できるWEBに特化したQAサイトで、メルアドだけで登録できますし、返答が付く確率が高いので、大変役に立ちますよ。

ブログ初心者が、作り方・運営で困ったら「teratail(テラテイル)」に聞いてみ?
WordPress、CSS、html、php、SEO…。ブログ運営って記事書くだけでなくて、色々難しい事が多いよね。 『登場人物の紹介』 くろ社長 仕事は社員に丸投げしたから、暇になったので個人ブログでも始めようと思うのだ。クロのセクシー水...