unibon のブックマークunibonの日記 - 詳細デザイン設定
トレーダーズ・ウェブ
Musumenavi
MoProGuide
ハロー!プロジェクト オフィシャルサイト
センチュリーランド
(Berryz工房)もっと!はみだしアーティストトピックス
(℃-ute)もっと!はみだしアーティストトピックス
(モーニング娘。)もっと!はみだしアーティストトピックス
(藤本美貴)もっと!はみだしアーティストトピックス
藤本美貴
NHK 音楽番組
フジテレビONE
フジテレビTWO
フジテレビNEXT
ニュース - スマイレージ公式ウェブサイト
TRF 長谷部優 橘佳奈 小倉優子 水森かおり 長山洋子 松田聖子 酒井法子 田村英里子 アイドリング!!! 小泉瑠美 遠藤舞 横山ルリカ モーニング娘。 Berryz工房 ℃−ute 真野恵里菜 スマイレージ Buono! 石川梨華 松浦亜弥 藤本美貴 岡田唯 相沢真紀 小川真奈 北神未海 bump.y AKB48 SKE48 渡り廊下走り隊 ノースリーブス フレンチ・キス ももいろクローバー bump.y
MoProGuide ハロプロ番組情報 (moproguide) on Twitter
週末ヒロイン ももいろクローバーオフィシャルサイト - スケジュール
2008-02-24 (Sun)
■[株][コンピューター]C# で IE を操作する
SMBCフレンド証券の買い付け画面用。
指値・成行のドロップダウンリストボックスと、当日・出合のラジオボタンを、操作できるようにした。
using System.Windows.Forms; using System; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { wb.Navigate("https://online.smbc-friend.co.jp/smbcfs-front/loginInformation.do"); } private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { HtmlDocument doc = wb.Document; HtmlWindow win = doc.Window; // System.Windows.Forms.HtmlWindow HtmlWindowCollection frames = win.Frames; // System.Windows.Forms.HtmlWindowCollection if (frames.Count == 0) { HtmlElement loginForm = doc.Forms["loginForm"]; // System.Windows.Forms.HtmlElement if (loginForm != null) { HtmlElementCollection inputElements = loginForm.GetElementsByTagName("input"); // input タグ HtmlElement username = inputElements["username"]; // お客様コード // String value = username.GetAttribute("value"); username.SetAttribute("value", textBox1.Text); HtmlElement password = inputElements["password"]; // 暗証番号 password.SetAttribute("value", textBox2.Text); } } else if (frames.Count == 1) { } else if (frames.Count == 2) { HtmlWindow headFrame = frames["Head"]; HtmlWindow mainFrame = frames["Main"]; HtmlWindow leftFrame = mainFrame.Frames["Left"]; HtmlWindow rightFrame = mainFrame.Frames["Right"]; // "株式 買付のご注文" の画面か検査する。 // 同じフォーム名で、銘柄入力(fromMeigara=false)とその次の株数・値段等入力(fromMeigara=true)の画面がある。 HtmlElement stockBuyAgreementForm = rightFrame.Document.Forms["stockBuyAgreementForm"]; if (stockBuyAgreementForm != null) { HtmlElementCollection inputElements = stockBuyAgreementForm.GetElementsByTagName("input"); // input タグ HtmlElement fromMeigara = inputElements["fromMeigara"]; String valueFromMeigara = fromMeigara.GetAttribute("value"); if (valueFromMeigara == "false") { // なにもしない。 } else if (valueFromMeigara == "true") { HtmlElement primaryMarketCode = inputElements["primaryMarketCode"]; String valuePrimaryMarketCode = primaryMarketCode.GetAttribute("value"); if (valuePrimaryMarketCode == "") { // 銘柄コードが正しくなかった時に出るエラー画面だった。 // なにもしない。 } else { // 執行条件(指値・成行)のドロップダウンリストボックス HtmlElementCollection selectElements = stockBuyAgreementForm.GetElementsByTagName("select"); // select タグ HtmlElement orderExecCond = selectElements["orderExecCond"]; HtmlElementCollection optionElements = orderExecCond.GetElementsByTagName("option"); HtmlElement op1th = optionElements[1]; // 指値(value="0") op1th.SetAttribute("selected", "true"); // 注文期限(当日・出合(週中))のラジオボタン HtmlElementCollection terms = inputElements.GetElementsByName("term"); HtmlElement term0th = terms[0]; // 当日(value="9") term0th.SetAttribute("checked", "true"); } } else { Console.WriteLine("aaa"); throw new Exception(); } } } else { } } private void textBox1_TextChanged(object sender, EventArgs e) { } } }
input type="text" や input type="radio" や select は操作できるようになったのだが、form の submit ってどうやればいいの?
http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&mo=21397&namber=21391&space=15&rev=0&page=0&no=0
を見ると、submit ボタンを click しないといけないのかな?ボタンを click って余計なような気がするが、しないといけないのか?
stockBuyAgreementForm.InvokeMember("submit");
みたいなのだけでも良いのかな?
しかし、デバッグしづらい。VB だと、ブレークポイントで止めていても、操作対象である IE の画面を見ることができるのだが、C# だと、画面が見れない。Collection の要素をウォッチウィンドウで見る方法も良く分からない。
- 131 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GGLJ_jaJP260JP260&q=C#+HtmlElement
- 67 http://www.google.co.jp/search?hl=ja&q=C#+IE+操作&lr=lang_ja
- 48 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&q=C#+IE navigate&btnG=検索&lr=lang_ja
- 40 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=ie+ラジオボタン&num=50
- 36 http://www.google.co.jp/search?hl=ja&lr=&q=C#+IE+操作&revid=1320141120&sa=X&oi=revisions_inline&resnum=0&ct=broad-revision&cd=3
- 33 http://www.google.co.jp/search?hl=ja&lr=lang_ja&client=firefox-a&rls=org.mozilla:ja:official&hs=qJ1&pwst=1&q=C#+IE+操作&revid=1499390598&sa=X&oi=revisions_inline&resnum=1&ct=broad-revision&cd=3
- 24 http://www.google.co.jp/search?hl=ja&q=C#+IE操作&lr=
- 23 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=C#+ブラウザ 入力
- 21 http://www.google.co.jp/search?q=C#+IE+操作&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 19 http://www.google.co.jp/search?hl=ja&lr=lang_ja&tbs=lr:lang_1ja&q=C# GetElementsByName&btnG=検索&aq=f&aqi=&aql=&oq=&gs_rfai=