
何度も質問してすみません。
どうしても自力では解決できないことがありましたので質問させていただきます。
webbrowserでの読み込み後の処理についてなのですが、現在表示されているページ内のリンクを自動でクリックし、次のページにあるテキストボックス内にテキストを打ち込みたいのです。
While WebBrowser1.IsBusy Or WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
Application.DoEvents()
End While
を置いているのですが、どうやらこれが機能せずにテキストボックスへの書き込みがうまくいきません。
試しに、上記の記載の後ろに
msgbox("待ってみる")
と記載してみると、前ページのリンクをクリックした瞬間、メッセージボックスが表示されます。
メッセージボックスのOKボタンをしばらく待って手動でOKをクリックするとテキストボックスへのテキストの書き込みも正常に行われます。
ほかには
Do While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
System.Windows.Forms.Application.DoEvents()
Loop
や
System.Threading.Thread.Sleep(1000)
も試してみたのですが、sleepに関してはwebbrowserの読込自体が止まってしまいます。
何か良い方法はないのでしょうか?
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
WebBrowserのDocumentComplatedで処理を待ち受けたほうが良いかもしれないですよ
WebBrowser1.Document.All.GetElementsByName("ex11")
(1).InvokeMember("click") 'ボタンクリック
でクリック後に飛ぶURLを フォームクラスの変数に代入しておいて
DocumentComplatedイベントで
if e.Url.AbsolutePath = myUrl.AbsolutePath then
WebBrowser1.Document.All.GetElementsByName("ttl")(0).InnerText = "aaaa"
myUrl = Nothing
end if
などとしてみてはいかがでしょう
遅くなりました。
回答ありがとうございます。
おかげさまで希望するコードを書くことが出来ました。
また分からないことが出ると思いますが、お時間が許されましたらお願いいたします。
No.1
- 回答日時:
そのリンクからどこか他のページに飛んでから希望のページを表示していませんか?
MsgBoxを出して手動で続行した場合に表示されるURLと
MsgBoxが出たときのURLは同じなのでしょうか
回答ありがとうございます。
遅くなりましたこと、お詫びいたします。
URLはひとつのみです、ちなみに
WebBrowser1.Document.All.GetElementsByName("ex11") 'ボタンクリック
(1).InvokeMember("click")
Do While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
System.Windows.Forms.Application.DoEvents()
Loop '待つ
WebBrowser1.Document.All.GetElementsByName("ttl")(0).InnerText = "aaaa"
MsgBox("読込どうかな")
このような記載です。
ボタンをクリックした後、読込が終わる前に"aaaa"と"どうかな"の部分が走ってしまうので、"aaaa"は記載されずに終わります。
この2行を逆にし、先にmsgboxを読み込むと問題なくaaaaが入力されるのですが、完全自動にしたいので、それは避けたいのです。
http://oshiete.nikkeibp.co.jp/qa2599810.html
このような回答も見つけたのですが、確かに私の記載したプログラムの前にはいくつかのwebサイトの移動がありますが、読込待ちがうまくいかないのは、この部分だけなんです。
非completeの指定の仕方も良くわかりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Chrome(クローム) Webサイトの表示崩れの原因と対策 1 2022/08/01 23:16
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Word(ワード) ワード2023でテキストボックス内の数字が勝手に変わってしまう 1 2023/02/09 14:47
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- PDF PDFの出力時のファイル名を消したい 3 2022/09/05 01:16
- その他(セキュリティ) 特定のWEBページのフリーズ AMAZONサイト PC側? ネットワーク? サイトに問題? 1 2023/01/30 16:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホでボタンがhoverの状態か...
-
ドロップダウンメニューの開示...
-
jquery loadでページを読み込...
-
相互リンクと検索エンジンスパ...
-
excel VBA でjava のボタンを押...
-
Yahooのリンクを使用する方法
-
HTMLのリンクの色をクリックす...
-
Flashボタンの保存先が設定でき...
-
Googleの被リンクについて
-
ボタンにリンクをかけたら、ボ...
-
WEBページ内のURLを抽出する...
-
Amazonアソシエイトのリンク作...
-
WINDOWSが起動したと同...
-
phpの問い合わせフォームを作っ...
-
「全面リニューアル」の意味
-
PVについて
-
Flash5で送信ボタンをつけたい...
-
METAタグでページ説明を指定し...
-
HTMLのタグimg dynsrcの使い方
-
ホームページ作成にあたって
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Webサイト内に埋め込んだmp4動...
-
Strutsでページネーションを実...
-
HTMLのリンクの色をクリックす...
-
excel VBA でjava のボタンを押...
-
a:hoverで設定した内容をクリッ...
-
スマホでボタンがhoverの状態か...
-
jquery loadでページを読み込...
-
リンク先を新しいタブで開けな...
-
インフレーム内のラベルに飛び...
-
リンク切れを判断する方法
-
戻るボタンの作成
-
画面のどこかをクリックすると
-
被リンクを増やすには
-
携帯での『ひとつ前に戻る』
-
被リンクを無料で増やすための...
-
同ページ内でリンクの文字色を...
-
テキストリンクにマウスが重な...
-
webbrowserの読込完了が反応しない
-
C++で作成したDLLを vb.net か...
-
フェレットプラス(Ferret PLUS)...
おすすめ情報