twitterにUWSCでログインする

最近では、アフィリエイトにもtwitterを活用することが多くなったようです。
そこで、UWSCでもtwitterを活用できるログインスクリプトを作成しました。

簡単かと思いきや

PRO版のrec機能では、別ページへリダイレクトされてしまいうまくいきません。
ということで、ソースを確認します。

inputフォームのnameは、
session[username_or_email]
session[password]です。
しかし、これをそのままIESetDataに設定してもログインフォームにセットされません。

そこでさらにソースをよく見ると、
該当するフォームは2番目だということが分かります。

次にsubmitボタン。 ソースを確認すると、

<button type="submit" class="submit btn primary-btn flex-table-btn js-submit" tabindex=4>

IESETDATAで使えるIDがありません。
TAG=buttonで試してもなかなかうまく行きません。

ということで、そんな時は泥臭くオブジェクトからフォームを操作します。
IE.document.forms[0].submit() から当たっていくと、
IE.document.forms[3].submit()で動作が確認できます。

これらを踏まえると、以下のようなスクリプトになります。

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("https://twitter.com/")
BusyWait(IE)
 
BusyWait(IE)
IESetData(IE,"ID","session[username_or_email]",,2) // 要編集
IESetData(IE,"パスワード","session[password]",,2) // 要編集
IE.document.forms[3].submit()

BusyWait(IE)
// IE.Quit // IE終了
//------
Procedure BusyWait(ie)
  Sleep(0.5)  // Wait
  Const TIME_OUT = 90
  tm = Gettime()
  repeat
    Sleep(0.2)
    ifb Gettime() - tm > TIME_OUT
      MsgBox("Time Out:BusyWait")
      ExitExit
    endif
  until (! ie.busy) and (ie.readyState=4)
  Sleep(0.5)
Fend

出来てしまえば、簡単ですがHTMLソースから解析していくのは、
なかなか骨の折れる作業です。
http://canal22.org/advance/
などをチェックして上手にスクリプトを作成していきましょう。

タグ

2012年12月1日 | コメントは受け付けていません。 |

カテゴリー:アフィリエイター

このページの先頭へ