クリックしたいボタンがある場合とない場合の分岐

1時間に1回クリックできる(厳密には1時間で更新されるのでクリックできるのは少しあと)ボタンがあります。(クリックしたら1時間出てきません) そこのボタンを押すためのコードを作ったんですが、UWSCのタイマー機能で1時間に1回の実行ですと、うまくいきません。 そのため毎分実行することで、対応させようとしましたが、それはそれで例外が発生しました。というエラーが出ます。 おそらく、指定しているidがないためだと思われます。 よって、このidがないときの分岐を作りたいのですが、なんせ本日初めてUWSCに挑戦してみたもので、やり方がよくわかりません。 よろしくお願いします。 また、実行すると毎回ウィンドウがでてきてしまうので、バックグラウンドで処理する方法か、1つだけのウィンドウを開けっぱなしで行う方法など、教えていただきたいです。また、目的のあう、いい方法があれば(javascryptのほうが簡単だぞなどでもいいです。)教えてください。
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("https://freebitco.in/?op=home#")//IEを開いてサイトをひらく

REPEAT
 SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate = 4


logintags=IE.document.getElementsByTagName("input")

FOR I = 0 TO logintags.length - 1
    IFB logintags.Item(I).id = "free_play_form_button" THEN
       logintags.Item(I).Click()
IE.quit


ENDIF
NEXT

関連情報:

  1. スタイルを設定する
  2. スタイルに設定された枠線(border)を操作する
  3. GETOLEITEMを使わずitemで指定して要素を操作する
  4. スタイルに設定された背景(background)を操作する
  5. スタイルに設定された余白(margin, padding)を操作する

このエントリーを含むはてなブックマーク Buzzurlにブックマーク Yahoo!ブックマークに登録

コメント

  1. yu555 より:

    バックグラウンドで処理する方法としては、visible=falseにすることで対応できそうです。
    エラーなんですが、どのような状況でもでてしまうようです、
    COM_Error:例外が発生しました。
    13行目:IFB LOGINTAGS.Item〔Ⅰ〕.id=”free_play_form_button”then
    とでてきます。
    また毎分処理を行うと、負荷がごく少量ですがかかるので、できれば1時間1分ごととかにしたいのですが可能でしょうか?
    もしくはクリック可能なタイミングで行う物など可能でしょうか?
    画像を使ってやる方法も考えてみましたが、1時間ごとの更新の時にクリックしたいボタンが見えなくなるので無理かなと思いました。


このページの先頭へ