Find.by(Class / Selector / Url)WatiN的方法无法随机找到Element(ElementNotFoundException)。
过去两周我试图修复它,但我不知道原因。 起初,我认为问题只是因为Find.Selector不稳定,因此我查找了Find.Sector部件以停用它们,但问题仍然存在。
我创建了C#Windows Form项目,然后按如下方式编写了Thread:
// Frm.cs
private void RunBtn_Click(object sender, EventArgs e)
{
workerObject = new Worker();
workerThread = new Thread(workerObject.DoWork);
workerThread.SetApartmentState(ApartmentState.STA);
workerThread.IsBackground = true;
workerThread.Start();
}
// Worker.cs
[TestFixture, RequiresSTA]
class Worker
{
[STAThread]
public void DoWork()
{
while( ! _sholdStop)
{
// Find Element & Click
}
}
}
当我在以下HTML中执行Find.ByClass,Find.BySelector和Find.ByUrl时,他们仍然无法随机找到Element。
<ul class="pagenation ult2">
<li>
<a href="http://somedomain.com/post/109301/?param=value¶m2=value2">
Click!
</a>
</li>
<li>
...
</li>
</ul>
// Try 1 :
// browser.Link(Find.ByUrl("http://somedomain.com/post/109301/?param=value¶m2=value2")).Click();
// Try 2 :
// browser.Link(Find.BySelector(".ult2 > li > a")).Click();
// Try 3 :
List ul = browser.List(ByClass("pagenation ult2", true));
ul.ListItems[0].ChildWithTag("a", null).Click();
WatiN不稳定还是我缺少什么?