2017-02-11 18 views
2

gecko 브라우저를 사용하여 특정 목록 상자 나 콤보 상자를 선택해야하지만 동일한 페이지는 하나 이상의 목록 상자와 콤보 상자에 있어야합니다. 나는 다음과 같은 방법을 시도하지만 모두에게 적용됩니다. ID 태그가없고 이름 태그 만 있습니다.C# Gecko 특정 ListBox 또는 ComboBox 선택

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"); 
     } 
    } 

난 당신이 다른 상자에 같은 값으로 항목을 선택하고 싶지 않아요. 게코에 this like 솔루션을 사용할 수 있습니까?

답변

1

레이블 태그 ('Turu'또는 뭔가 :)가 있음을 확인합니다.

그래서, 당신은에 의해 적절한 하나를 선택하는 상자를 확인할 수 있습니다 내용은 'Turu의'인 제 아이를 가지고 한 LI 요소를 선택

  1. 그런 다음 내부의 '콤보'를 선택
  2. 이 코드는 정말 잘 아니라고,

공지 사항도 LI 요소가 :

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

페이지의 모든 콤보 상자에서 모든 옵션 모음을 가져오고 있습니다. 따라서 콤보 상자는 실제로 option 요소 (select 요소)의 부모입니다.

또한, 옵션 태그 GeckoOptionElements가 (안전 주조 할 수있다)이며, 은 그래서 당신은 할 수 있습니다 :

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

가 마지막으로 - 네, 링크와 같은 솔루션은 게코 가능합니다.