2011-01-09 5 views
1

숨겨진 입력 안에있는 텍스트 영역에 데이터를 놓으려고하지만 watin이 찾지 않습니다. ID가 동적으로 변경했기 때문에틴; id가 작동하지 않는 요소 가져 오기

alt text

var ie = new WatiN.Core.IE("http://facebook.com", true); 
ie.ClearCookies();         ie.TextField(WatiN.Core.Find.ById("email")).TypeText(textBoxUsername.Text);      ie.TextField(WatiN.Core.Find.ById("pass")).TypeText(textBoxPassword.Text); 
ie.Button(WatiN.Core.Find.ByValue("Login")).Click(); 
ie.Link(WatiN.Core.Find.ByText("Status")).Click();     
        ie.TextField(WatiN.Core.Find.ById("u362110_11")).TypeText(textBoxPassword.Text); 

예외

Could not find INPUT (hidden) or INPUT (password) or INPUT (text) or INPUT (textarea) or TEXTAREA element tag matching criteria: Attribute 'id' equals 'u493403_13' at http://www.facebook.com/home.php 
+0

코드를 알려주십시오. – SLaks

+1

위의 HTML에 id ("u493404_13")가 없습니다. HTML과 코드가 적절합니까? 그래도 HTML 코드를 읽는 것은 매우 어렵습니다. 따라서 놓친 것이 가능합니다 – Sparky

+0

페이지 영역이 새 페이지로 변경됨 ..... –

답변

4

이 이름으로 검색하여 ID를 교체하여 당함 : I는 입력을 검색 할 때

내 프로그램은이 보여줍니다 항상

+0

의 부분에 대한 일관성이 있다면 동적으로 생성 된 ID는 Find.ById와 일치시키기 위해 정규 표현식을 사용할 수도 있습니다. –

+0

+1 정확히 어떤 도움이되지 못했습니다. 그러나 나는 다른 종류의 다른 지저분한 답변을 시도한 후에 코드를 다시 한 번 살펴 봤는데 Find.ByName (tableRow [ "Field"]) 대신 Find.ByName (""Field ")을 사용했기 때문입니다. 그래 맞아, 키워드와 사각 브래킷은 나에게 일의 비용이 든다. 아직도 당신은 살고 배웁니다! 건배. :-) –

관련 문제