フォームに値を入力送信【パート2】

解決


吉田  2010-02-10 05:11:32  No: 37512

フォームに値を入力しサブミットしたいです。
※【パート2】としたのは以前この掲示板で説明されていたgoogleの方法では解決できなかったのでです。
ボタンタイプなどで方法が変化するようです、いくつかパターンを試してみましたが送信できませんでした、アドバイス宜しくお願いします。

【ソース】
<input name="mail" type="text" id="mail" style="ime-mode: disabled; width:180px;" value="" size="25" maxlength="255">

<input name="passwd" type="password" id="passwd" style="ime-mode: disabled; width:180px;" value="" size="25" maxlength="16">

<input name="action_media_login_chk" type="submit" id="action_media_login_chk" value="  メディアログイン  ">

【ソース】

        HTMLDoc2 := WebBrowser1.document as iHTMLDocument2;
        HTMLInputElement := HTMLDoc2.All.Item('mail', 0) as iHTMLInputElement;
        HTMLInputElement.Set_Value(Edit1.Text);

        HTMLDoc2 := WebBrowser1.document as iHTMLDocument2;
        HTMLInputElement := HTMLDoc2.All.Item('passwd', 0) as iHTMLInputElement;
        HTMLInputElement.Set_Value(Edit2.Text);

        HTMLDoc2 := WebBrowser1.document as iHTMLDocument2;
        HTMLInputElement := HTMLDoc2.All.Item ('action_media_login_chk',0) as iHTMLInputElement;
        HTMLInputElement.Form.Submit;


吉田  2010-02-19 02:21:38  No: 37513

なにかアドバイスいただけないでしょうか?


んー  2010-02-19 03:05:56  No: 37514

ページが全て決まっていて、Tabで項目の移動ができるのなら、
キーイベントを起こしてやれば間接的に入力できるのでは?

参考
https://www.petitmonte.com/bbs/answers?question_id=599


吉田  2010-02-19 03:56:07  No: 37515

そうですね、タブで操作になりますか、不安定になるので極力さけたかったのですが、いたしかたありませんかね?

現在WebBrowserでコンテンツを読み込んでいますがそこにターゲットを
もっていくにはどの様にしたらよいでしょうか?


monaa  2010-02-19 07:02:01  No: 37516

HTMLはそんなに知りませんが、色々複雑な場合がありますからね。
このまえpixivの画像ダウンローダ作った時は泣きました。
対象ページがわかればそれなりに試行錯誤してみますが、
上記の状態だけで汎用ってのは難しいかと思いますよ。


吉田  2010-02-19 08:01:50  No: 37517

monaa様ありがとうございます。

対象ページです
ttps://media.adwires.com/media.php?mod=login&cmd=frm


もしかして  2010-02-19 08:13:19  No: 37518

自動クリックして不正に報酬を稼ぐのが目的なの?


吉田  2010-02-19 08:28:44  No: 37519

もしかして様
管理画面へのログインが目的です、他にも沢山の管理画面があるので
自動で集計できるようにしたいだけですのでご安心ください。


monaa  2010-02-19 09:37:32  No: 37520

登録してないので確認できませんが、
下記ソースを試してみて下さい。
uses MSHTML;

procedure TForm1.Button1Click(Sender: TObject);
var
  HTMLDoc3  :IHTMLDocument3;
begin
  HTMLDoc3:= WebBrowser1.Document as IHTMLDocument3;
  HTMLDoc3.getElementById('mail').Set_innerText('test@aaa.co.jp');
  HTMLDoc3.getElementById('passwd').Set_innerText('aaaaa');
  HTMLDoc3.getElementById('action_media_login_chk').click;
end;


吉田  2010-02-19 10:05:31  No: 37521

最高です!
いろいろな方法があるのですね、勉強になりました。

こちらも見ていただければ幸いです。
https://www.petitmonte.com/bbs/answers?question_id=6824


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

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






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