从选择列表中检索值
本文关键字:检索 列表 选择 | 更新日期: 2023-09-27 18:16:13
我最近开始使用WatiN在一个网站上测试一些东西。
我想问,是可能的:如果我有一个选择列表在我的页面上,我可以检索所有的值与文本从它在一个字典?
比如说我有一个列表:
<SELECT NAME="mylist" onChange="disp_text()">
<OPTION VALUE="m1">Cape Fear
<OPTION VALUE="m2">The Good, the Bad and the Ugly
<OPTION VALUE="m3">The Omen
<OPTION VALUE="m4">The Godfather
<OPTION VALUE="m5">Forrest Gump
</SELECT>
所以我想有一个字典,这些值<string, string> dictionary.add(m1, "cape fear");
…等
有可能用等待来处理吗?以及如何?
另一个问题是,当我点击一个链接,它在IE中打开一个新的选项卡,我如何关闭只有新打开的选项卡,并继续在主页上做工作?
这可能对你的第一个问题有帮助
SelectList region1 = browser.SelectList(Find.ByName("mylist"));
Dictionary<string, string> optionsdictionary = new Dictionary<string, string>();
foreach (Option option in region1.Options)
{
optionsdictionary.Add(option.Value, option.Text);
}
第二个问题,我用FireFox试了试,它可以工作,但就像Otiel说的,你应该单独发布问题。
browser.GoTo("http://news.google.co.in/nwshp?hl=en&tab=wn");
Link newslink = browser.Link(Find.ByUrl("somelink"));
newslink.Click();
FireFox newbrowser = FireFox.AttachTo<FireFox>(Find.ByUrl("somelink"));
newbrowser.Close();
或者,您可以让linq为您做这些艰苦的工作:-
SelectList regionLst = browser.SelectList(Find.ByName("mylist"));
Dictionary<string, string> optionsDictionary = regionLst.Options.ToDictionary(option => option.Value, option => option.Text);
只是一个警告。这个例子和Ashish提供的例子都依赖于你的选择列表中没有重复的"选项值"。HTH !