我希望使用watin获取网页中的元素列表并更改所有值
例如,我想找到所有带有“test”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 :(得分:0)
我可以看到您已定位到TableRow
并使用TextField
,这只是一个文本文件。您应该定位父级并尝试使用您的条件获取所有文本字段。
我尝试使用以下代码并为我工作。如果您仍然无法找出问题,请发布错误/ html源代码。
IE ie = new IE("https://accounts.google.com/SignUp?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F<mpl=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();