2016-11-16 7 views
0

ich möchte verwenden watin zur Liste der Elemente in einer Webseite erhalten und alle Werte ändernWie bekomme ich eine Liste von Elementen mit Wattin (C#) und Werte ändern?

zum Beispiel möchte ich alle Textfelder mit „test“ ID finden und ihre Werte ändern

dies ist mein Code. aber es nur ein Element ändern, nicht alle (in meinem Code sah ich für Elemente über thir Namen)

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(); 

in diesem Code ich einen Text in einer Tabelle zu finden, i dann Textfeld (zweiter Text) finde, dann Es schreibt "schreibe diese Zeichenfolge" , aber ich möchte dies für alle ähnlichen Elemente tun Ich versuchte mit foreach, aber gescheitert Kennt jemand den richtigen Code?

Antwort

0

Ich kann sehen, dass Sie auf eine TableRow gerichtet haben und TextField verwendet, die nur eine Textdatei wäre. Sie sollten auf das übergeordnete Element abzielen und versuchen, alle Textfelder mit Ihren Kriterien zu erhalten.

Ich habe mit unten Code versucht und für mich gearbeitet. Wenn Sie das Problem weiterhin nicht lösen können, veröffentlichen Sie den Fehler/HTML-Quellcode.

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(); 
Verwandte Themen