忍者ブログ
気ままな独り言
カレンダー
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:
ふらふら
性別:
男性
バーコード
ブログ内検索
アクセス解析
26
×

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

iMacrosでページを表示するときにエラーが起こると困ってしまいます。なんとか対処できないかと調べてみました。

最初にこのようなエラー処理を組んで見ました。
iimPlay("PageDisplay");
while(1) {
iimPlay("STUCheck");
s = iimGetLastExtract(1);
if( s != "Service Temporarily Unavailable" ) break;
iimPlay("CODE:REFRESH");
}
STUCheck.iimはこのようになっています。
TAB T=1
FRAME F=2
TAG POS=1 TYPE=H1 ATTR=TEXT:* EXTRACT=TXT
しかし、これでは上手くいきませんでした。
WS000000.JPG


このダイアログが表示されてしまい、iMacrosの実行が進まなくなってしまいます。
公式のフォーラムを参考になる情報はないかと色々見てみました。
iOpus • View topic - Refresh and POSTDATA. Please help
このページに拠るとこの様な場合はBACKコマンドを使えば良いようです。

早速、スクリプトを書き換えてみました。
iimPlay("PageDisplay");
while(1) {
iimPlay("STUCheck");
s = iimGetLastExtract(1);
if( s != "Service Temporarily Unavailable" ) break;
iimPlay("CODE:BACK");
iimPlay("PageDisplay");
}
実際に動かしてみると上手く行きました。これで503が発生した場合は上手く行くようになりました。しかし、それ以外のエラーが発生した場合等の対応は出来ていません。全部ちゃんとやろうとすると結構大変です。httpのステータスコードが取得できればもうちょっと簡単に対応できると思うのですが、どうもiMacrosを通して取得することは出来ないようです。それとこういったエラー処理はテストが面倒ですね。そうそう都合良くエラーが起こってくれるってことは無いですからね。本来ならローカルにサーバーを立てて、テストするべきかも知れません。しかし、さすがにそこまでやろうとは思いません。

ところで、スクリプトをループさせて長い間動かしていると、段々実行速度が遅くなってしまいます。なぜそうなってしまうのか分かりませんが対処療法は分かりました。FireFoxをいったん終了して、立ち上げなおせばもとのスピードに戻ります。ちょっと面倒ですが、今はこの方法でしのいでいます。
PR
お名前
タイトル
文字色
URL
コメント
パスワード
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
無題
こんにちは。
こんな古い記事に質問して申し訳ないのですが、

if ( s ! =
の! はどう意味なのでしょうか?
たろうさん / 2017/11/24(Fri) /
無題
サービーステンポラリリーアンアベイラブルをEXTRACTできなかったらブレイクしてifから抜け出すということで、
サービーステンポラリリーアンアベイラブルを抽出できたなら
iim play code backに進む
ということですよね?
たろうさん / 2017/11/24(Fri) /
Trackback URL
Copyright c ふらふらのあれやこれや All Rights Reserved
Powered by ニンジャブログ  Designed by ピンキー・ローン・ピッグ
忍者ブログ / [PR]