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

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

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

Re[6]: リストボックスの値を選択するには?


(過去ログ 119 を表示中)

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

■69837 / inTopicNo.1)  リストボックスの値を選択するには?
  
□投稿者/ Pirror (8回)-(2014/02/01(Sat) 16:22:38)

分類:[C#] 

2014/02/01(Sat) 18:18:40 編集(投稿者)

下記の様なHTMLがありリストボックスになっています。

この時、
全てを選ぶと、name=css_id_0の値が選択出来ます。
果物を選ぶとname=css_id_1の値が選択出来ます。
乗り物を選ぶとname=css_id_2の値が選択できます。

これをC#を利用して、webブラウザ上から、直接
name=css_id_0の自動車を選択したいのですが、
コンボボックスならば、webBrowser1.Document.All.GetElementsByName("css_id_0")[0].SetAttribute("value", "60");
で選択できると思うのですが、
リストボックスなので上記でやっても上手く選択出来ません。

下記ページを参考に

http://www.hanatyan.sakura.ne.jp/patio/read.cgi?no=314

webBrowser1.Document.All.GetElementsByName("css_id_0")[0].SetAttribute("Selectedindex", "5");

webBrowser1.Document.All.GetElementsByName("css_id_0")[0].InvokeMember("onChange");



webBrowser1.Document.All.GetElementsByName("css_id_0")[0].SetAttribute("Selectedindex", "60");

webBrowser1.Document.All.GetElementsByName("css_id_0")[0].InvokeMember("onChange");



HtmlElementCollection elements = webBrowser1.Document.Body.GetElementsByTagName("SELECT");
foreach (HtmlElement element in elements)
{
if (element.GetAttribute("name") == "css_id_0")
{
element.Children[5].SetAttribute("Selected","True");
element.RaiseEvent("onChange");
}
}

HtmlElementCollection elements = webBrowser1.Document.Body.GetElementsByTagName("SELECT");
foreach (HtmlElement element in elements)
{
if (element.GetAttribute("name") == "css_id_0")
{
element.Children[5].SetAttribute("checked","checked");
element.RaiseEvent("onChange");
}
}


等と色々と試してみましたがだめでした。

何か間違っているのでしょうか?
それとも、違う方法でアクセスするのでしょうか?

下がHTML文

<A class="id_n1 id_selected" title=job onclick=Id(0);>全て</a>
<A class=id_n1 onclick=Id(1);>果物</a>
<A class=id_n1 onclick=Id(2);>乗り物</a>
<TD colSpan=2>

<DIV style="DISPLAY: block" class="select_area fleft">
<SELECT style="WIDTH: 100px" id=id__css_id_0 onclick="setCssId(this,'0')" size=7 name=css_id_0>
<OPTION selected value=10>バナナ</OPTION>
<OPTION value=20>りんご</OPTION>
<OPTION value=30>オレンジ</OPTION>
<OPTION value=40>みかん</OPTION></SELECT></DIV>
<OPTION value=50>飛行機</OPTION>
<OPTION value=60>自動車</OPTION>
<OPTION value=70>オートバイ</OPTION></SELECT></DIV>



<DIV style="DISPLAY: none" class=select_area>
<SELECT style="WIDTH: 100px" id=id__css_id_1 onclick="setCssId(this,'1')" size=7 name=css_id_1>
<OPTION value=10>バナナ</OPTION>
<OPTION value=20>りんご</OPTION>
<OPTION value=30>オレンジ</OPTION>
<OPTION value=40>みかん</OPTION>
</SELECT></DIV>


<DIV style="DISPLAY: none" class=css_select_area>
<SELECT style="WIDTH: 100px" id=id___css_id_2 onclick="setCssId(this,'2')" size=7 name=css_id_2>
<OPTION value=50>飛行機</OPTION>
<OPTION value=60>自動車</OPTION>
<OPTION value=70>オートバイ</OPTION>
</SELECT></DIV>
引用返信 編集キー/
■69839 / inTopicNo.2)  Re[1]: リストボックスの値を選択するには?
□投稿者/ WebSurfer (172回)-(2014/02/01(Sat) 19:11:47)
No69837 (Pirror さん) に返信
> コンボボックスならば、webBrowser1.Document.All.GetElementsByName("css_id_0")[0].SetAttribute("value", "60");
> で選択できると思うのですが、
> リストボックスなので上記でやっても上手く選択出来ません。

「コンボボックス」というのは size 属性を 1 にしたときのことを言っているのですか?

「思う」とのことですが、思うだけではなくて実際に検証してなら、「コンボボックス」
うまく行くことは間違いないのでしょうか?


引用返信 編集キー/
■69840 / inTopicNo.3)  Re[2]: リストボックスの値を選択するには?
□投稿者/ WebSurfer (173回)-(2014/02/01(Sat) 19:17:26)
No69839 (WebSurfer さん) に返信
> ■No69837 (Pirror さん) に返信
>>コンボボックスならば、webBrowser1.Document.All.GetElementsByName("css_id_0")[0].SetAttribute("value", "60");
>>で選択できると思うのですが、
>>リストボックスなので上記でやっても上手く選択出来ません。
>
> 「コンボボックス」というのは size 属性を 1 にしたときのことを言っているのですか?
>
> 「思う」とのことですが、思うだけではなくて実際に検証してなら、「コンボボックス」
> うまく行くことは間違いないのでしょうか?
>

すみません誤記がありました。

誤:
「思う」とのことですが、思うだけではなくて実際に検証してなら、「コンボボックス」
うまく行くことは間違いないのでしょうか?
    ↓
正:
「思う」とのことですが、思うだけではなくて実際に検証して、「コンボボックス」なら
うまく行くのは間違いないことを確認されたのでしょうか?

引用返信 編集キー/
■69843 / inTopicNo.4)  Re[3]: リストボックスの値を選択するには?
□投稿者/ Pirror (9回)-(2014/02/01(Sat) 20:56:21)
No69840 (WebSurfer さん) に返信
> ■No69839 (WebSurfer さん) に返信
>>■No69837 (Pirror さん) に返信
> >>コンボボックスならば、webBrowser1.Document.All.GetElementsByName("css_id_0")[0].SetAttribute("value", "60");
> >>で選択できると思うのですが、
> >>リストボックスなので上記でやっても上手く選択出来ません。
>>
>>「コンボボックス」というのは size 属性を 1 にしたときのことを言っているのですか?
>>
>>「思う」とのことですが、思うだけではなくて実際に検証してなら、「コンボボックス」
>>うまく行くことは間違いないのでしょうか?
>>
>
> すみません誤記がありました。
>
> 誤:
> 「思う」とのことですが、思うだけではなくて実際に検証してなら、「コンボボックス」
> うまく行くことは間違いないのでしょうか?
>     ↓
> 正:
> 「思う」とのことですが、思うだけではなくて実際に検証して、「コンボボックス」なら
> うまく行くのは間違いないことを確認されたのでしょうか?
>

すいません、コンボボックスの場合だと上手く行ってます。

引用返信 編集キー/
■69844 / inTopicNo.5)  Re[4]: リストボックスの値を選択するには?
□投稿者/ WebSurfer (175回)-(2014/02/01(Sat) 21:26:01)
No69843 (Pirror さん) に返信
> ■No69840 (WebSurfer さん) に返信
>>■No69839 (WebSurfer さん) に返信
> >>■No69837 (Pirror さん) に返信
>>>>コンボボックスならば、webBrowser1.Document.All.GetElementsByName("css_id_0")[0].SetAttribute("value", "60");
>>>>で選択できると思うのですが、
>>>>リストボックスなので上記でやっても上手く選択出来ません。
> >>
> >>「コンボボックス」というのは size 属性を 1 にしたときのことを言っているのですか?
> >>
> >>「思う」とのことですが、思うだけではなくて実際に検証してなら、「コンボボックス」
> >>うまく行くことは間違いないのでしょうか?
> >>
>>
>>すみません誤記がありました。
>>
>>誤:
>>「思う」とのことですが、思うだけではなくて実際に検証してなら、「コンボボックス」
>>うまく行くことは間違いないのでしょうか?
>>    ↓
>>正:
>>「思う」とのことですが、思うだけではなくて実際に検証して、「コンボボックス」なら
>>うまく行くのは間違いないことを確認されたのでしょうか?
>>
>
> すいません、コンボボックスの場合だと上手く行ってます。
>

一番最初の質問のコードを何度か書き換えてますよね。それは止めてもらえませんか。

で、size="1" だとうまく行って、size="7" だとうまくいかないコードを書いてください。そして、それを
決して変更しないようにしてください。
引用返信 編集キー/
■69845 / inTopicNo.6)  Re[5]: リストボックスの値を選択するには?
□投稿者/ Pirror (10回)-(2014/02/01(Sat) 21:37:50)
No69844 (WebSurfer さん) に返信
> ■No69843 (Pirror さん) に返信
>>■No69840 (WebSurfer さん) に返信
> >>■No69839 (WebSurfer さん) に返信
>>>>■No69837 (Pirror さん) に返信
> >>>>コンボボックスならば、webBrowser1.Document.All.GetElementsByName("css_id_0")[0].SetAttribute("value", "60");
> >>>>で選択できると思うのですが、
> >>>>リストボックスなので上記でやっても上手く選択出来ません。
>>>>
>>>>「コンボボックス」というのは size 属性を 1 にしたときのことを言っているのですか?
>>>>
>>>>「思う」とのことですが、思うだけではなくて実際に検証してなら、「コンボボックス」
>>>>うまく行くことは間違いないのでしょうか?
>>>>
> >>
> >>すみません誤記がありました。
> >>
> >>誤:
> >>「思う」とのことですが、思うだけではなくて実際に検証してなら、「コンボボックス」
> >>うまく行くことは間違いないのでしょうか?
> >>    ↓
> >>正:
> >>「思う」とのことですが、思うだけではなくて実際に検証して、「コンボボックス」なら
> >>うまく行くのは間違いないことを確認されたのでしょうか?
> >>
>>
>>すいません、コンボボックスの場合だと上手く行ってます。
>>
>
> 一番最初の質問のコードを何度か書き換えてますよね。それは止めてもらえませんか。
>
> で、size="1" だとうまく行って、size="7" だとうまくいかないコードを書いてください。そして、それを
> 決して変更しないようにしてください。

すいません、コンボボックスの場合は、単純にSetAttributeして
OPTIONのValue値を設定したら上手く行くと言うだけです。

今回のソースではコンボボックスは試していません。

コンボボックスのやり方と、同じやり方では
リストボックスでは上手く行かなかったので質問いたしました。

混乱させてしまった事をお詫び申し上げます。

size=1だから上手くいったということではありません。
最初に書いたソースは、全てsize=7で実験したものです。

webBrowser1.Document.InvokeScript("setCssId", new String[] { "60", "0" });
とやってもだめでした。


引用返信 編集キー/
■69848 / inTopicNo.7)  Re[6]: リストボックスの値を選択するには?
□投稿者/ WebSurfer (177回)-(2014/02/01(Sat) 22:52:52)
No69845 (Pirror さん) に返信
> すいません、コンボボックスの場合は、単純にSetAttributeして
> OPTIONのValue値を設定したら上手く行くと言うだけです。
>
> 今回のソースではコンボボックスは試していません。
>
> コンボボックスのやり方と、同じやり方では
> リストボックスでは上手く行かなかったので質問いたしました。
>
> 混乱させてしまった事をお詫び申し上げます。
>
> size=1だから上手くいったということではありません。
> 最初に書いたソースは、全てsize=7で実験したものです。
>
> webBrowser1.Document.InvokeScript("setCssId", new String[] { "60", "0" });
> とやってもだめでした。

結局「コンボボックス」「リストボックス」の違いは関係なかったのでしょうか?

もう一度よく整理して、html コード、WebBrowser を使った C# のコードを書いて
期待した結果とどこがどう違うか詳しく書いてください。あと、コードは絶対変更
しないでください。
>
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -