自動でwebの更新ボタンを押すには?

解決


桜坂  2008-05-24 22:00:18  No: 30780

いつもご指導いただき、ありがとうございます。
あるhttpsのweb画面があり、URLは見えない様になっています。
ここに更新ボタンがあり、クリックすると更新され別の欄に更新データが表示されます。常に更新ボタンを押すのを改善したいのです。
この更新ボタンを(例えば1分毎に)クリックする動作をDelphiで作るとすれば、どのような方法があるでしょうか。
どのように取り掛かれば良いかも入り口もわかりません。
ご指導願います。
当方、Delphi7エンタープライズです。


mook  2008-05-24 22:51:20  No: 30781

ブラウザのコンポを使用しているのでしたら
WebBrowser.Refresh
..は、だめですか?


桜坂  2008-05-25 14:37:44  No: 30782

mookさん、早速のご指導ありがとうございます。
返事が遅れ申し訳ございません。
webの関係は、どの様なコンポーネントを使い、どの様にしたらよいかも解らない初心者です。
こちらはクライアントで、更新したい画面に「現在の状況を更新」というボタン(imageの様です)があります。
これを押す(クリックする)プログラムをクライアントPCに設置したいのです。
WebBrowser.Refreshは普通にbeginとendの間に入れれば良いのでしょうか。
教えてください。


見えないね  2008-05-25 17:08:16  No: 30783

>あるhttpsのweb画面があり、URLは見えない様になっています。
それは自前のアプリなの?それとも他人が作って改変不可能なアプリ?


桜坂  2008-05-25 20:32:07  No: 30784

状況が巧く説明できず申し訳ございません。
改変不可能な他人のシステムです。
その他人のサーバー・システムにアクセスしておりますが、
自分のPCに表示されるデータを「現在の状況を更新」という自分のPCのボタンをクリックする動作をさせたいのです。
その自分のPCで動作をするプログラムをDelphiで作りたいのです。
よろしくご指導願います。


KHE00221  2008-05-25 21:07:32  No: 30785

おそらく Web上の Button を押したいんでしょ?

https://www.petitmonte.com/bbs/answers?question_id=5273

を参考にして下さい


mook  2008-05-25 21:30:58  No: 30786

やり方が分からないとの事ですので。

先に「Internet」のタブの中に「WebBrowser」のコンポーネントがありますので
それをフォームに貼り付けます。

後はボタンを貼り付けて以下のように

procedure TForm1.Button1Click(Sender: TObject);
var
  url: String;
  v1, v2, v3, v4: OleVariant;
begin
  // アドレスの入れ方は勉強してください
  url:= 'http://www.google.co.jp';
  WebBrowser1.Navigate (url, v1, v2, v3, v4);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  WebBrowser1.Refresh;
end;

後、Delphi7.0の環境ではどうかわかりませんが、Delphiインストール先に
サンプル等がありますので参考にされたらいいかも。
  C:\...\Demos\Coolstuf のような..


桜坂  2008-05-26 01:24:33  No: 30787

皆さん、ありがとうございます。
殆ど、考えていたストーリーです。
もう一つ教えてください。
そのwebがhttpsでURLが見えない場合は、どうすればよいのでしょうか。
ご指導願います。


桜坂  2008-05-26 16:24:51  No: 30788

mookさん、丁寧なご指導ありがとうございます。お陰様で理解できました。
KHE00221さん、ご指導ありがとうございます。重ねて教えてください。
参考のページでTForm3.WebBrowser1DocumentComplete(ASender: TObject;
の部分は、どの様にクリック又は貼り付ければ良いのでしょうか。
教えて下さい。


KHE00221  2008-05-26 18:31:16  No: 30789

procedure TForm3.Timer1Timer(Sender: TObject);
var
    HTMLDoc2 : iHTMLDocument2;
    HTMLInputElement : iHTMLInputElement;
    HTMLInputImageEvent : HTMLInputImageEvents;
begin
    HTMLdoc2 := Webbrowser1.document as IHTMLDocument2;
    HTMLInputElement := HTMLDoc2.All.Item ('btnG',0) as iHTMLInputElement;
    HTMLInputElement.Form.Submit;
end;

btnG の名前はソース(HTML)を見て自分で調べて下さい。


通りすがり  2008-05-26 21:24:27  No: 30790

> 参考のページでTForm3.WebBrowser1DocumentComplete(ASender: TObject;
> の部分は、どの様にクリック又は貼り付ければ良いのでしょうか。

これは、Delphiの環境でオブジェクトインスペクタの「イベント」の中で
「OnDocumentComplete」を、ダブルクリックすると出てきますよ。

この辺りは、Delphiの一般常識ですから、マスターするようにしましょう。


桜坂  2008-05-27 05:12:59  No: 30791

皆さん、ありがとうございます。
何とか考えが整理できそうです。
そして、何とも恥ずかしい限りです。
もっと勉強しなければなりません。
今後ともご指導よろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加