ページの遷移待ちで途中で抜けてしまいます。
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2016年2月1日(月)07時48分 From: ジャッカル | 返事 削除 変更 |
javascript処理がはさんでいるとか。 DOMはjavascriptを制御できないから、例えばボタンをクリックした中にjavascript処理があるとjavascriptの処理完了を待たずに次に処理に進んでしまう。 そうなると完全に読み込みができていないので探しているオブジェクトが見つからず、エラーが表示される。 > こんにちは,よろしくお願いします。 > ページの遷移待ちで,「オブジェクトが必要です。」というエラーが出ます。エラー番号は,424です。遷移待ちの部分は,多用するので,メインのプロシージャとは別に次のようなプロシージャを作っています。 > > Sub Busyready(ie As InternetExplorer) > Do While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE > DoEvents > Loop > Do While ie.Document.readyState <> "complete" > DoEvents > Loop > End Sub > > エラーは,いつも出るわけではなくて,上手くいくときと,上記のエラーが出る時と半々くらいです。 > そこで, > call Busyready(ie) > sleep(200) > として,上記のプロシージャを呼んだ後で,0.2秒待ちを加えると,エラーは出なくなりました。 > > しかし思うのですが,Busyやreadystateプロパティは,絶対では無いという事なのでしょうか? > このような,不安定?,不確か?なプロパティがあるというのはおかしいことだなと思います。このようなことが,1つでもあるとVBAに対する信頼が揺らぎます。特にお金を扱うサイトのブラウジングを操作しようと思っているので,大変不安です。 > > そこで,Busyやreadystateプロパティが不安定な理由を教えていただきたいです。 > また,Busy,readystateプロパティがきちんと動くようにするには,どのようにすれば良いのかを教えていただきたいです。 > 何とぞ,よろしくお願い致します。 |
Message#1 2016年1月31日(日)06時09分 From: 困ったちゃん | 返事 削除 変更 |
こんにちは,よろしくお願いします。 ページの遷移待ちで,「オブジェクトが必要です。」というエラーが出ます。エラー番号は,424です。遷移待ちの部分は,多用するので,メインのプロシージャとは別に次のようなプロシージャを作っています。 Sub Busyready(ie As InternetExplorer) Do While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE DoEvents Loop Do While ie.Document.readyState <> "complete" DoEvents Loop End Sub エラーは,いつも出るわけではなくて,上手くいくときと,上記のエラーが出る時と半々くらいです。 そこで, call Busyready(ie) sleep(200) として,上記のプロシージャを呼んだ後で,0.2秒待ちを加えると,エラーは出なくなりました。 しかし思うのですが,Busyやreadystateプロパティは,絶対では無いという事なのでしょうか? このような,不安定?,不確か?なプロパティがあるというのはおかしいことだなと思います。このようなことが,1つでもあるとVBAに対する信頼が揺らぎます。特にお金を扱うサイトのブラウジングを操作しようと思っているので,大変不安です。 そこで,Busyやreadystateプロパティが不安定な理由を教えていただきたいです。 また,Busy,readystateプロパティがきちんと動くようにするには,どのようにすれば良いのかを教えていただきたいです。 何とぞ,よろしくお願い致します。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降