- PR -

Webbrowserコントロール type=file のテキストボックス部分に文字を入力する方法

投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-19 19:40
>渋木宏明(ひどり) 様

お返事ありがとうございます。

引用>
「API も駆使して、惜しみなく労力を注ぎ込めば出来る可能性もゼロではないですが。。。」

なるほど、、、
具体的なやり方はわからないですが、
ダイアログが出た後に、VB6で言うところのsendkeyみたいなのを使って
対応してみようかなぁ。。。等と思っているのですが、
確定的なプログラムが出来ないなと思って躊躇しています。

丁寧に質問に答えていただき、ありがとうございますm(__)m
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-19 19:46
>べる 様

いつもお世話になっておりますm(__)m

引用>
「C:¥Documents and Settings¥User¥Cookies¥User@foo.txt
とか入ってたらそんなブラウザ嫌ですよね。」

色々なところで「セキュリティ上の問題が〜」と言われていて、
意味がよく分からなかったのですが、この説明で、問題の意味が理解できました。

引用>
「とはいっても、Webbrowserコントロールを使わずにWebRequest(かWebClient?)あたりを
使って普通にWindowsアプリを作ればいいのでは?」

はい。
どうやら、WebRequestを調べて、プログラムをするのが普通なようですね、、、
googleでWebRequestで検索したら、色々情報が出てきました。

そういうわけで、WebRequestやsendkey(?)を使って、
何とかする方向でやってみます。

質問に答えていただいて、ありがとうございましたm(__)m

渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-07-20 05:52
引用:

ダイアログが出た後に、VB6で言うところのsendkeyみたいなのを使って
対応してみようかなぁ。。。等と思っているのですが、
確定的なプログラムが出来ないなと思って躊躇しています。



あまりエレガントな方法は無いですね。
フックをかけておいて云々という方向になると思います。

完全に読み飛ばされたようですが、本当に INPUT TYPE=file でなければ駄目なんですか?

INPUT TYPE=text と INPUT TYPE=button の組み合わせであれば、Form 側のコードで INPUT TYPE=text の値を操作できます。

さらに、INPUT TYPE=button 押下で、Form 側でファイル選択ダイアログを出すことが出来ます。
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-20 16:23
>渋木宏明(ひどり) 様

お返事ありがとうございます。

引用:

あまりエレガントな方法は無いですね。
フックをかけておいて云々という方向になると思います。

完全に読み飛ばされたようですが、本当に INPUT TYPE=file でなければ駄目なんですか?



そうですね、かなりタイミングプログラムになってしまいます(^^ゞ
ただ、その「フックをかけておいて」っていうのを、
検索して調べてみます。

引用:

INPUT TYPE=text と INPUT TYPE=button の組み合わせであれば、Form 側のコードで INPUT TYPE=text の値を操作できます。

さらに、INPUT TYPE=button 押下で、Form 側でファイル選択ダイアログを出すことが出来ます。



読み飛ばしたわけではなく、、、、申し訳ありません。
具体的に何をしているかと言いますと、
「ヤフーオークション自動出品ソフト」を作ってみようと思いまして。
予めデータを設定しておけば、写真をアップロードしたり、
出品の細かい設定を自動的に出来る、、、ようなソフトを作ろうと思ってます。

ただ、具体的に何をしてるとかっていうのを、掲示板で言う事ではないかな?と、
思って書いていませんでした。

そんなわけで、ホームページの方を、
「INPUT TYPE=text と INPUT TYPE=button の組み合わせであれば」と、
改造するのは出来ないのです。

せっかくお返事を頂いてるのに、不快な思いをさせてしまい、
申し訳ありませんでしたm(__)m
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-07-20 17:12
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=17076&forum=7

WebRequestで頑張れば出来ると思います。
Cookieとmultipart/form-dataの面倒を見る必要があるでしょう。


[ メッセージ編集済み 編集者: todo 編集日時 2006-07-20 17:15 ]
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-20 17:50
>todo 様

お返事ありがとうございます。

リンク先のページ、拝見させていただきました。
英語で意味がわかりませんが、なんとか読み解いてみます(+_+)
せっかくのプログラムなんで、やはり、エレガントにやっていきたいので。

貴重な資料、ありがとうございました。

渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-07-20 23:05
引用:

そんなわけで、ホームページの方を、
「INPUT TYPE=text と INPUT TYPE=button の組み合わせであれば」と、
改造するのは出来ないのです。



要するに、自動化できればなんでもいいんですよね?

なら、うまくいくかどうか確認していませんが、ダイナミックに HTMLDOM を書き換えてしまっては?

所定のページを WebBrowser で表示した後、WebBrowser.Document 経由で、INPUT TYPE=file を INPUT TYPE=text に挿げ替え(=もちろん、ID や NAME は同じものを割り当てる)てしまい、値をセットしてから submit してしまえばいいんじゃないでしょうか。
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-24 16:53
>渋木宏明(ひどり) 様

お返事ありがとうございます。

わかりました。一度チャレンジしてみます。

ちなみに、あまり関係のない話かもしれませんが、
ファイルを開くのダイアログを経由しないで、
ファイルを開くのダイアログを経由したのと同じ状態にしようと思って、
ファイルを開く前のhtmlソースと、ファイルを開いた後のhtmlソースを
見比べてみたのですが、これが、全然違う内容になってまして。

スキルアップ/キャリアアップ(JOB@IT)