2011-02-28 6 views
2

watin을 사용하여 AOL Lifestream에 로그인하고 현재 라이프 스트림에 대한 모든 의견을 얻습니다.웹 자동화 Watin 문제

Watin과 IE를 사용하여 로그인하고 있습니다. 문제는 로그인 페이지에서 폼 요소를 찾지 못하는 것입니다.

// Sign in 
     IE ie = new IE("http://lifestream.aol.com/"); 
     ie.WaitForComplete(); 

     // Log the user in or out 
     if (ie.Element(Find.ById("account_dd")).Exists) 
     { 
      ie.GoTo("http://lifestream.aol.com/logout"); 
     } 
     else 
     { 
      ie.Link(Find.ById("signInLink")).Click(); 
      ie.TextField(Find.ById("lgnId1")).Value = txtUsername.Text; 
      ie.TextField(Find.ById("pwdId1")).Value = txtPassword.Text; 
      ie.Button(Find.ById("submitID")).Click(); 
     } 

양식 요소가 나는 방화범으로 볼 수 있으므로 :

여기 내 코드 발견하고 폼 요소를 입력 할 수 있습니다. 그들은 자바 스크립트로 생성 된 것 같지만 여전히 DOM에 있어야합니다.

내가 존재하는지 확인해도 부정적인 결과가 나타납니다. 어떤 도움이 필요합니까?

답변

3

로그인 컨트롤은 id = loginframe 인 iframe 요소 안에 있습니다. 다음과 같이 else 분기에서 코드를 변경하십시오.

var frame = ie.Frame("loginframe"); 

frame.TextField(Find.ById("lgnId1")).Value = txtUsername.Text; 
frame.TextField(Find.ById("pwdId1")).Value = txtPassword.Text; 
frame.Button(Find.ById("submitID")).Click();