C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: webBrowserで表示したページのコントロールの値の取得


(過去ログ 13 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■3701 / inTopicNo.1)  webBrowserで表示したページのコントロールの値の取得
  
□投稿者/ おっさん (1回)-(2007/05/19(Sat) 22:53:33)

分類:[C# (Windows)] 

XPpro sp2 VS2005EXPRESS C#
はじめましてC#初心者です
よろしくご教授お願いします
webBrowserでgooの地図検索ページを表示させてSQLサーバの住所データを検索ワードに入力し表示されたurlから GPS値を取り出してSQLサーバに追加するものを作っています。機能そのものは完成しているのですが、納得できないところがありまして、質問させてください。

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)

nowurl1 = (string)this.webBrowser1.Document.Url.AbsoluteUri.ToString();


で支障なく取得できるのですが、ページの中のエレメント?now_urlに表示されているテキストを取得しようと下記のコードを試みているのです。エラーはでないのですが、innertextはnullになっておりまして???の状態です。どうも根本的なところで間違っているような気がするのですが、どのような方法があるのでしょうか。宜しくお願いします。
HtmlElementCollection elms = (HtmlElementCollection)webBrowser1.Document.All.GetElementsByName("now_url");

foreach (HtmlElement elm in elms)
{
string sst = elm.GetAttribute("innertext").ToString();
if(sst=!null)
{
        int stELid = sst.IndexOf('N', 34);
  int stNLid = sst.IndexOf('&', 34);
  string stEL = sst.Substring(34, stELid - 34);
  string stNL = sst.Substring(stELid+1, stNLid - stELid-1);
        
this.ELGPS.Text = stEL;
this.NLGPS.Text = stNL;
}
}


引用返信 編集キー/
■3704 / inTopicNo.2)  Re[1]: webBrowserで表示したページのコントロールの値の取得
□投稿者/ Hongliang (141回)-(2007/05/19(Sat) 23:36:27)
Hongliang さんの Web サイト
HTML の各要素に使われる属性に innertext なんてのは無かったはずですけど。
DOM の InnerText プロパティなら、HtmlElement クラスにもそのまま実装されていますよ。

// ところで、持っていない属性に対して GetAttribute を使用した場合返るのは null じゃなくて空文字列のはずですが。
引用返信 編集キー/
■3710 / inTopicNo.3)  Re[2]: webBrowserで表示したページのコントロールの値の取得
□投稿者/ おっさん (2回)-(2007/05/20(Sun) 09:17:49)
No3704 (Hongliang さん) に返信
> HTML の各要素に使われる属性に innertext なんてのは無かったはずですけど。
> // ところで、持っていない属性に対して GetAttribute を使用した場合返るのは null じゃなくて空文字列のはずですが。

いいかげんな質問をして申し訳ありません。
入力の時にはInnerTextを使ってましたがGetAttributeの時はinnertextでやってました
確かにnullではなくて""ですね

それでも表示されてるはずの
<input type="text" onFocus="select()" class="urlbox" id="now_url" name="now_url" value="" size="100" readonly>
の値を取得できないのですよ

重ねて申し訳ありませんがご教授していただけたら幸いです。
引用返信 編集キー/
■3720 / inTopicNo.4)  Re[3]: webBrowserで表示したページのコントロールの値の取得
□投稿者/ Hongliang (142回)-(2007/05/20(Sun) 12:43:58)
Hongliang さんの Web サイト
どうにも問題点が読みとれませんが……。
id 属性が now_url である input 要素が表示している内容を取得したいんですか?
それなら、まず判断基準は HtmlElement.Id ですよね。
そして type="text" である input 要素は空要素ですから、InnerText プロパティが空なのは当然です。ブラウザがテキストボックスに表示するのは value 属性の値。
引用返信 編集キー/
■3721 / inTopicNo.5)  Re[4]: webBrowserで表示したページのコントロールの値の取得
□投稿者/ おっさん (3回)-(2007/05/20(Sun) 16:50:18)
No3720 (Hongliang さん) に返信
Honglingさんありがとうございました。
解決いたしました。
1週間ほどの胸の痞えが下がりました。
感謝いたします。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -