2017-02-11 13 views
2

私はgeckoブラウザを使用しています。特定のリストボックスまたはコンボボックスを選択する必要がありますが、同じページには複数のリストボックスとコンボボックスがあります。私は以下の方法を試しますが、それはすべてに適用されます。 IDタグはなく、名前タグだけです。C#Gecko特定のリストボックスまたはコンボボックスを選択

enter image description here

GeckoElementCollection ListeBoxKomboBox = Tarayıcı.Document.GetElementsByTagName("option"); 
    foreach (GeckoHtmlElement Element in ListeBoxKomboBox) 
    { 
     if (Element.GetAttribute("value") == "1") 
     { 
      Element.SetAttribute("selected", "selected"); 
     } 
     if (Element.GetAttribute("value") == "2") 
     { 
      Element.SetAttribute("selected", "selected"); 
     } 
    } 

私はあなたが他のボックスに同じ値を持つアイテムを選択する必要はありません。 geckoのthis like解決方法はありますか?

答えて

1

ラベルタグ(「Turu」など)があります。だから、

、あなたはボックスによって適切なものである選択するかを決定することができます

  1. コンテンツが「Turu」
  2. が続いて内部「コンボボックス」を選択された最初の子を持っているLI要素を選択そのLI要素このコードは本当に正しいではないことも

お知らせ:

GeckoElementCollection ListeBoxKomboBox = Tarayıcı.Document.GetElementsByTagName("option"); 

あなたは、ページ上のすべてのコンボボックスでALLオプションのコレクションを取得しています。つまり、コンボボックスは実際にはoption要素(select要素)の親要素です。

また

、オプションタグがGeckoOptionElements(安全にキャストすることができます)、 ので、あなたが行うことができます:

var optionElements= selectBox.GetElementsByTagName("option"); 
      foreach (GeckoOptionElement optionElement in optionElements) 
      { 
       if (optionElement.Value == "Foo") 
       { 
        optionElement.Selected = true; 
       } 
      } 

最後に - はい、あなたのリンクにあるようなソリューションは、Geckoの中で可能です。

関連する問題