2016-11-16 169 views
0

我想用華廷獲得元素列表中的網頁和更改所有的值如何使用Watin(c#)獲取元素列表並更改值?

例如我想找到「測試」 ID 所有的文本框,並改變它們的值

這是我的代碼。但只改變一個元素,並非所有的(在我的代碼通過錫爾名稱看了元素)

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這隻會是一個文本文件。您應該針對父級,並嘗試使用您的標準獲取所有文本字段。

我嘗試了下面的代碼併爲我工作。如果您仍然無法弄清楚問題,請發佈錯誤/ 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();