2016-11-16 18 views
0

는 내가 그 값Watin (C#)을 사용하여 요소 목록을 얻고 값을 변경하는 방법은 무엇입니까?

이 내 코드를 웹 페이지의 요소 목록을 얻고 모든 값 예를 들어

내가 "테스트"ID 모든 텍스트 상자를 발견 할을 변경하고 변경 watin 사용합니다. 하지만 그것은 단지 그 다음, 그 다음 내가 텍스트 상자 (두 번째 텍스트)를 발견, 나는 테이블의 텍스트를 찾을 수이 코드에서 하나 개의 요소, 모든 (내 코드에서 내가 thir에 이름을 통해 요소를 보았다)

IE ie = new IE("http://sample.net/"); 
    ie.TableRow(Find.ByText(t => t.Contains("sample text"))).TextField(Find.ByName("second text")).TypeText("write this string"); 
    ie.WaitForComplete(); 

변경 그것은 "이 문자열을 쓰십시오" 하지만이 모든 비슷한 요소에 대해이 작업을 수행하고 싶습니다 foreach를 시도했지만 실패했습니다 누구든지 올바른 코드를 알고 있습니까?

답변

0

TableRow을 타겟팅했으며 TextField은 텍스트 파일로만 사용되었습니다. 상위를 타겟팅하고 조건에 맞는 모든 텍스트 필드를 가져와야합니다.

아래 코드를 시도해보고 저를 위해 일했습니다. 그래도 문제를 파악할 수 없으면 error/html 소스 코드를 게시합니다.

IE ie = new IE("https://accounts.google.com/SignUp?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&ltmpl=default"); 
ie.WaitForComplete(); 

foreach (var txtEle in ie.Form(Find.ById("createaccount")).TextFields) 
{ 
     if (!string.IsNullOrEmpty(txtEle.Id)) 
     { 
      if (txtEle.Id.Contains("Name")) 
      { 
      txtEle.TypeText("write this string"); 
      } 
     } 
    } 

ie.WaitForComplete();