2011-08-08 2 views
2

WebBrowser 컨트롤 (C#)을 사용하여 HTML 양식을 자동으로 채울 수있는 응용 프로그램을 만들려고합니다. 웹 페이지에는 옵션 목록이 있으며 드롭 다운 상자에서 해당 요소를 가져올 수 있습니다. 나는 invokemember("click") 메서드를 호출 할 때, 나는 ScrollIntoView 찾아 Focus 방법은 괜찮습니다, HTML의 선택 요소에 더 responce.Below이HtmlElement.invoke ("click")가 작동하지 않습니다.

다음
<div> 
class="ddlcont" style="display: block; width: 150px; top: 414px; left: 790.75px;"> 
<a class="select" v="0" href="javascript:;">Not </a> 
<a v="419000" href="javascript:;">insure</a></div> 

내 코드입니다이

HtmlElementCollection element_div=currentWindow.Frames[0].Document.GetElementsByTagName ("div"); 

foreach (HtmlElement item in element_div) 
{ 
    if (item.GetAttribute("classname") == "ddlcont" && item.Children.Count !=0) 
    { 
     item.Children[1].ScrollIntoView(true); 
     item.Children[1].Focus(); 
     item.Children [1].SetAttribute("selected", "true"); 
     item.Children [1].InvokeMember("Click");      
    } 
} 

누구든지 내가이 문제를 해결하도록 도울 수 있다면 고마워. 당신의 도움을 주셔서 감사합니다!

답변

0

붙여 넣기가 잘못되었을 수도 있지만 예를 들어 div에는 class이 없습니다.
봐 :

<div> 
class="ddlcont" style="display: block; width: 150px; top: 414px; left: 790.75px;"> 

<div 
class="ddlcont" style="display: block; width: 150px; top: 414px; left: 790.75px;"> 

(첫 번째 줄에는 >)을 없을 것

0

이 대신 같은 것을보십시오 :

Button1.GetType().GetEvent("OnClick").GetRaiseMethod().Invoke(Button1, EventArgs.Empty); 

당신은 조정할 필요가 있습니다 문법은 조금 있지만, 이것은 당신에게 n 올바른 길.

관련 문제