CSSのボタンを押したい

お世話になります
http://www.smartoption.jp/
上記サイトの自動発注部分をUWSCで作成しているのですが、最後の確定ボタン( 開始 )部分が押せません

何をすれば押せるのでしょうか??

——————————————————————–
以下ソース
——————————————————————–
EXEC("C:\Program Files\Internet Explorer\iexplore.exe") //IE64Bit
IE = GETACTIVEOLEOBJ("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.smartoption.jp/")
BusyWait(IE)
IESetData(IE,"ログインID","email") // TEXT
IESetData(IE,"パスワード","password") // PASSWORD
IESetData(IE,True,"","ログイン") // SUBMIT
BusyWait(IE)
ie.document.getElementById("category_sixtySecondsOptions").click()
BusyWait(IE)
IESetData(IE,"USD/JPY","","id=assetChoose_input") // TEXT
BusyWait(IE)
IESetData(IE," \500","","id=investmentAmountSelect_input") // TEXT
BusyWait(IE)
IESetData(IE,True,"","id=sixtySeconds_put") // BUTTON
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

タグ

2012年5月31日 | コメント/トラックバック(4) |

カテゴリー:掲示板

ショートカットキーを送る

ショートカットキーを送る
SCKEY(ウィンドウのID,キー[, キー, キー・・・・・])

SCKEYはショートカットキーを指定したウィンドウに送信します
キーを送るウィンドウを指定するため、
事前にウィンドウのIDを取得しておく必要があります。

Ctrl + S(保存)のショートカットキーをメモ帳に送る

ID = EXEC("notepad")
SCKEY(ID,VK_CTRL, VK_S)

解説

常にシンプルなスクリプトですが、
ショートカットキーを送るエッセンスが詰まっています。
まずはSCKEY関数を見てみましょう。
VK_CTRL、VK_Sはそれぞれ
キーボードのCtrlキー、Sキーを意味している仮想キーです。
新規に立ち上げたメモ帳でCtrl + Sを実行すると保存ウィンドウが開きます。
ウィンドウのIDを取得し、仮想キーをSCKEYで送る。
この関数を使う上で理解しておくたった1つの大事なポイントです。

メモ帳と電卓の両方をショートカットキーで操作する

応用編です。
といっても基本のポイントを複数回かさねただけです。
電卓を立ち上げ、数字を送り計算させます。
その後で計算結果をクリップボードにコピーし、
メモ帳に貼り付けます。
スクリプトは以下の通りです。

この投稿の続きを読む »

タグ


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

カテゴリー:逆引き関数

DROPFILE

DROPFILE関数

ファイルをウィンドウにドロップする
DROPFILE( ID, ディレクトリ, ファイル名, [ファイル名, ファイル名, ...] )

引数
・ID・・・ウィンドウのID
・ディレクトリ・・・ファイルのあるディレクトリ
・ファイル名・・・ファイル

テキストファイルをメモ帳にドロップする

このファイルは指定したウィンドウに、ファイルをドラッグ&ドロップした時と同じ状態を再現できます。
下記のサンプルではC:\に”aaa.txt”という日時を記載したファイルを作成し、
そのファイルをメモ帳にドロップするアクションを実現しています。

DOSCMD("echo %date% %time% > C:\aaa.txt")
ID = EXEC("notepad")
DROPFILE(ID,"C:\","aaa.txt")

コマンドプロンプトにファイルをドロップすると、
そのファイルのパスを含めて
書き出してくれるので、
DROPFILE関数の確認が行えます。 以下のようになります。

この投稿の続きを読む »

タグ

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

カテゴリー:関数一覧

画像を認識したい

いつもお世話になっています。
PEEKCOLORを使って色を認識したいのですが、
カラーチャートにあるような返り値が戻ってきません。


カラーチャートにあるような返り値を得るには、
どうしたらイイでしょうか?

タグ

2012年5月28日 | コメント/トラックバック(2) |

カテゴリー:掲示板

大量のファイルを処理したい

形式が同じファイルが大量にあります。
どのファイルにも同じ処理をしなければならないのですが、
1つ1つ開いて作業を実行するのは大変です。
よい方法はありませんか。
ファイルを操作するUWSCの関数を使い、同じ処理を適用させましょう。

UWSCには、ファイルを開く関数、書き込む関数、
ある階層にあるファイルを取得する関数が用意されています。

それらを組み合わせる事で処理を実現することができます。

例えば、100個の連番の名前を持つファイルがあり、
中には、作成時の日時が書き込まれているとします。

そのファイルのすべてに対して、
末尾に現在時間と更新者の名前を記入する処理をしてみましょう。

1つ1つファイルを開き、現在時間を書き込み、
更新者の名前を記入し保存する。

このような処理を手作業で行うのは骨が折れますのでUWSCの出番です。

事前準備

まずは下準備として、以下のスクリプトを実行し、
ファイルを100個作ります。

 DOSCMD("mkdir .\myUWSC")
FOR A = 101 TO 200
 DOSCMD("echo %date% %time% > .\myUWSC\" + A + ".txt")
NEXT
 EXEC("EXPLORER .\myUWSC")
 MSGBOX("ファイルを「myUWSCフォルダ」に100個作成しました。フォルダを開きます。")

スクリプト

これで、myUWSCフォルダに100個のファイルが作成されました。
それでは、このファイルを開き、
末尾に現在時間と更新者の名前を記入し保存する処理を行います。


スクリプトは以下のようになります。

DIR = INPUT("処理をするフォルダを入力して下さい",".\myUWSC")
UPD = INPUT("更新者の名前を入力して下さい","Kobayashi")
NUM = GETDIR(DIR)
FOR A = 0 TO (NUM - 1)
 ID = FOPEN(DIR + "\" + GETDIR_FILES[A],F_READ or F_WRITE)
 GETTIME()
 NOW = G_TIME_YY + "/" + G_TIME_MM + "/" + G_TIME_DD + " " + G_TIME_HH + ":" + G_TIME_NN + ":" + G_TIME_SS + "." + G_TIME_ZZ
 FPUT(ID,NOW + "<#CR>" + UPD)
 FCLOSE(ID)
NEXT

この投稿の続きを読む »

タグ

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

カテゴリー:Q&A

script0001


script0001
GETTIMEで今日の日付を表示するサンプルです。
参考:http://canal22.org/gyaku/gettime/

ダウンロードする

タグ

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

カテゴリー:ツール

指定したディレクトリのファイル名を取得する

ファイル名の取得
戻値 =GETDIR( ディレクトリ, [ファイル指定, 不可視ファイルフラグ, 取得順番] )
引数
ディレクトリ
ファイル名の取得のディレクトリ
ファイル指定
ワイルドカード(*, ?) によるファイル名指定
“\” を指定するとディレクトリ名の取得
不可視ファイルフラグ
TRUE:不可視ファイルも含める、 FALSE:含めない(デフォルト)
取得順番
ファイルの並びを指定する
  • 0:ファイル名順(デフォルト)
  • 1:サイズ順
  • 2:作成日
  • 3:更新日
  • 4:アクセス日
戻値
ゲットした数を返す
取得した情報は配列変数の GETDIR_FILES[ ] に格納される (配列はゼロから)

使い方

GETDIR サンプルスクリプトに関しては、リンクよりご確認ください。
GETDIRはプログラムを組む際に予測のつかないファイルが特定のディレクトリに投げ込まれるような場合に役立ちます。

例えば、WEBサイトをクロールして画像ファイルを取得してくるプログラムを組んだ場合、取得してきたデータをリスト化するといったことが考えられます。

その他では、戻値でファイル数を取得できることを利用して、一定数のログファイルが溜まったら古いものから削除するプログラムのファイル数の判定に使うことができます。

タグ

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

カテゴリー:逆引き関数

ファイル書き込み

ファイル書き込み
FPUT( ファイルID, 書込み値, [行, 列] )

引数
・ ファイルID・・・FOPENで取得したファイルID
・書込み値・・・ファイルに書き込む値
・行・・・書込み行(1から指定)、0で行末に追加。
F_ALLTEXTを指定した場合は行ではなくファイルの全内容として書き込む
・列・・・書込み列(1から指定)
カンマ区切りのCSVファイルに対応
F_INSERTを指定した場合は指定行に挿入
※書き込み内容の反映はFCLOSEの実行時

ファイルに値を書き込む

ファイルを開き、値を書き込む
こういった処理はよくありますが、FOPENでのファイルオープンや、
FCLOSEによるファイルクローズと言った手続きを忘れてしまいがちです。
下記はファイルに値を書き込むシンプルなスクリプトの例です。

//C:\temp.txtに日付を記入したファイルを作成
FNAME = "C:\temp.txt"
DOSCMD("echo %DATE% %TIME% > " + FNAME)
//ファイルをオープン
ID = FOPEN(FNAME,F_READ or F_WRITE)

//ミリセカンドまで含めた時間を10回書き込む
FOR A = 1 TO 10
GETTIME()
NOW = G_TIME_YY + "/" + G_TIME_MM + "/" + G_TIME_DD + " " + G_TIME_HH + ":" + G_TIME_NN + ":" + G_TIME_SS + "." + G_TIME_ZZ
FPUT(ID,NOW)
NEXT

//最後にファイルクローズ
FCLOSE(ID)

//中身を確認した後、ファイル自体は削除
DOSCMD("notepad " + FNAME)
DOSCMD("del " + FNAME)

CSVファイルの指定位置に値を書き込む

次にFPUT関数の様々な引数を利用し
CSVファイルの指定位置に情報を書き込んで見ます。
サンプルでは3行のカンマ区切りのファイルの中で、
3行目の4つ目の値を対象にしています。 スクリプトは下記のようになります。

この投稿の続きを読む »

タグ

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

カテゴリー:逆引き関数

GETDIR

GETDIR関数

ファイル名を取得する
戻値 = GETDIR(ディレクトリ, [ファイル指定, 不可視ファイルフラグ, 取得順番])

引数
・ディレクトリ・・・ファイル名を取得するディレクトリ
・ファイル指定・・・ワイルドカード(*, ?) によるファイル名指定、”\”を指定するとディレクトリ名を取得
・不可視ファイルフラグ・・・TRUE:不可視ファイル含める、FALSE:含めない(デフォルト)
・取得順番・・・ソート
0:ファイル名(UNICODE順:デフォルト)
1:サイズ
2:作成日
3:更新日
4:アクセス日
5:ファイル名(ロケール指定順)
戻値
・取得した数を返す ・取得した情報は配列変数のGETDIR_FILES[]に格納される(配列はゼロから)

任意の位置のファイル数を取得する

PATH = INPUT("取得するディレクトリを入力して下さい","C:\")
NUM = GETDIR(PATH)
MSGBOX(PATH + "のファイル数:" + NUM)

上記のスクリプトでファイル数は取得できますが、
実際にはファイル名を利用する機会の方が多そうです。
GETDIR_FILES配列に取得された情報を表示してみましょう。
スクリプトは下記の通りです。

この投稿の続きを読む »

タグ

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

カテゴリー:関数一覧

COMコンポーネントの開いているウィンドウを制御する(GETACTIVEOLEOBJ)

開いているウィンドウを制御する
GETACTIVEOLEOBJ(“InternetExplorer”,ウィンドウタイトル)

GETACTIVEOLEOBJ関数は、
既に開いているウィンドウを制御する場合に使います。
「ウィンドウタイトル」は制御したい対象のウィンドウタイトルを記述しますが、
一部でも構いません。 ※一部アプリでは無効

アクティブにしたウィンドウのタイトルタグを取得するサンプル

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.google.co.jp/")
BusyWait(IE)

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.yahoo.co.jp/")
BusyWait(IE)

FOR KAISU = 1 TO 5
	IE = GETACTIVEOLEOBJ("InternetExplorer.Application","Google")
	SLEEP(1)
	PRINT IEGetSrc(IE, "TITLE")
	IE = GETACTIVEOLEOBJ("InternetExplorer.Application","yahoo")
	SLEEP(1)
	PRINT IEGetSrc(IE, "TITLE")
NEXT


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

解説

このプログラムを動かすと、
GETACTIVEOLEOBJが働いていることが確認できます。

タグ

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

カテゴリー:逆引き関数

このページの先頭へ