フォームに値を入力しサブミットしたいです。
※【パート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;
なにかアドバイスいただけないでしょうか?
ページが全て決まっていて、Tabで項目の移動ができるのなら、
キーイベントを起こしてやれば間接的に入力できるのでは?
参考
https://www.petitmonte.com/bbs/answers?question_id=599
そうですね、タブで操作になりますか、不安定になるので極力さけたかったのですが、いたしかたありませんかね?
現在WebBrowserでコンテンツを読み込んでいますがそこにターゲットを
もっていくにはどの様にしたらよいでしょうか?
HTMLはそんなに知りませんが、色々複雑な場合がありますからね。
このまえpixivの画像ダウンローダ作った時は泣きました。
対象ページがわかればそれなりに試行錯誤してみますが、
上記の状態だけで汎用ってのは難しいかと思いますよ。
monaa様ありがとうございます。
対象ページです
ttps://media.adwires.com/media.php?mod=login&cmd=frm
自動クリックして不正に報酬を稼ぐのが目的なの?
もしかして様
管理画面へのログインが目的です、他にも沢山の管理画面があるので
自動で集計できるようにしたいだけですのでご安心ください。
登録してないので確認できませんが、
下記ソースを試してみて下さい。
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;
最高です!
いろいろな方法があるのですね、勉強になりました。
こちらも見ていただければ幸いです。
https://www.petitmonte.com/bbs/answers?question_id=6824
ツイート | ![]() |