忍者ブログ
気ままな独り言
カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
フリーエリア
最新CM
[11/24 たろう]
[11/24 たろう]
[08/30 van cleef replique bracelet alhambra]
[07/10 淳子]
最新TB
プロフィール
HN:
ふらふら
性別:
男性
バーコード
ブログ内検索
アクセス解析
28
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

iMacrosの勉強を続けています。この前の続きでJavascriptから呼び出すやり方です。サンプルスクリプトのSI-Get-Exchange-Rate.jsとWsh-Extract-Rate.iimを参考にしています。
SI-Get-Exchange-Rate.jsの中身は下の様になっていました。
var ret
var s

ret = iimDisplay ("Get Exchange Rate Demo Macro")
ret = iimPlay("Wsh-Extract-Rate")

/* Check for error */
if (ret = 1) {
s = "One US$ costs " + iimGetLastExtract(1) + " EURO or " + iimGetLastExtract(2) + " British Pounds (GBP)"

}else
{
s = "The following error occurred: "+iimGetLastError();
};
alert (s);
iimPlayでマクロを呼び出し、iimGetLastExtractで値を取得しています。
Wsh-Extract-Rate.iimは下の様になっていました。
VERSION BUILD=300625    
TAB T=1
TAB CLOSEALLOTHERS
URL GOTO=http://www.iopus.com/imacros/demo/v6/extract.htm
'Get the values
TAG POS=29 TYPE=TD ATTR=CLASS:bdytxt&&TXT:*.* EXTRACT=TXT
TAG POS=30 TYPE=TD ATTR=CLASS:bdytxt&&TXT:*.* EXTRACT=TXT
TAGコマンドにEXTRACTを指定して値を取ってきています。POS=29 TYPE=TDで29番目のTDタグを指定しています。
なるほどなるほどということでこれを参考にちょっと試してみたのですが、なかなか上手くいきませんでした。まず、今回試して見たページにはTDタグにCLASSは指定されていませんでした。そのため上のままでは駄目でした。それと上の例ではテキストに小数点を含んだTDタグのみ対象にしていますが、単にn個目のTDタグから取得するならTAG POS=n TYPE=TD TXT:* EXTRACT=TXTで良いようです。ここまで理解するのに結構時間が掛かってしまいました。試行錯誤しながらなのでなかなか進みません。ということで続きはまた今度。
PR
相変わらずiMacrosを弄っています。公式のページを見ながらやっているのですが、英語が苦手なのでなかなか理解が進みません。それでもいくつか分かったことがあります。

一点目はループの途中に待ち時間を設定する方法です。これはWAITコマンドを使用することで実現できるようです。マニュアルを見間違えていて単純に秒数を指定出来ることに気づきませんでした。

二点目はJavascriptからiMacrosの機能を呼び出せるインターフェースがあることです。iMacrosには制御文等が無いので複雑なことは出来ないのですが、Javascript側でルーチンを組めば色々出来そうです。また表示したページから情報を取ってくることも出来るみたいで、TAGコマンドのEXTRACTを使うようです。この辺をもう少し理解しないと駄目ですね。
iMacrosで簡単な操作のレコードと実行は出来たのですが、もうちょっと複雑な場合を試してみたら上手くいきませんでした。

Error# 801 in line:4 , TAG not foundというエラーコードが発生しました。なんだこれとiMacros のページを見てみたのですが、Error-Codes - iMacrosには801というコードは載っていませんでした。実行しようとしているマクロはあるページでリストボックスから項目を選択して実行を押すというものです。

TAG POS=1 TYPE=SELECT FORM=ACTION:./xxx.cgi ATTR=NAME:mode CONTENT=$apple
TAG POS=2 TYPE=INPUT:SUBMIT FORM=ACTION:./xxx.cgi ATTR=VALUE:実行

このマクロの2行目が実行されていません。マクロ自体はiMacrosでレコードしたものです。iMacros のページを眺めてみたりしたのですが良く分かりませんでした。あれこれ試行錯誤した結果次のように一ヶ所書き換えると上手く動きました。

TAG POS=1 TYPE=SELECT FORM=ACTION:./xxx.cgi ATTR=NAME:mode CONTENT=$apple
TAG POS= TYPE=INPUT:SUBMIT FORM=ACTION:./xxx.cgi ATTR=VALUE:実行

TAGコマンドのPOSパラメータの使い方をちゃんと理解していないのですが、レコードしたマクロがそのまま実行できなのはちょっと不便ですね。
今日はFireFoxのAdd-onを2つほど試してみました。

まず、chickenfootを入れてみたのですが、使い方が悪いのか上手く動かせませんでした。ちゃんと確かめてないのですが、日本語への対応に問題があるのかなと思いました。この変もう少し時間があるときにでも調べてみましょう。

次にiMacrosを入れてみました。こちらは問題なく動きました。使い方も簡単で、ブラウザ上での操作を記憶したマクロを作り、それを実行することが出来ました。結構使えそうです。ただ、サポートしている機能は単純なので、複雑なことは出来ないようです。記録したマクロを繰り返すときにインターバルを指定したいのですが、そういう機能は無いみたいです。それにページを表示時にエラーが発生しても、それを判別することは出来ない様です。条件文も無いので、場合分けして処理を変える事も出来ません。

複雑なことをやろうとする場合はiMacrosでは物足りないですね。chickenfootに期待したいところです
Copyright c ふらふらのあれやこれや All Rights Reserved
Powered by ニンジャブログ  Designed by ピンキー・ローン・ピッグ
忍者ブログ / [PR]