.net 查找没有类的所有链接*
我有一个页面,可以有多达20-30个链接。根据其他因素,其中一些链接可能有一个类 我想从那些没有类的链接中随机选择一个链接 使用watin有什么方法可以做到这一点吗?使用.net 查找没有类的所有链接*,.net,watin,.net,Watin,我有一个页面,可以有多达20-30个链接。根据其他因素,其中一些链接可能有一个类 我想从那些没有类的链接中随机选择一个链接 使用watin有什么方法可以做到这一点吗?使用.Filter()它似乎不喜欢尝试筛选到没有特定值的项目。。。。。所以我想出了下面的怪物;它不是很优雅,但它在我的测试页面上工作,并且应该在几乎所有的时间都能工作,因为只有少量的链接,并且这些链接中有相当一部分没有类 因为它可能找不到没有类/空白类的链接,如果是这样,它将显式抛出异常。实现一个已经尝试过链接的存储不会太困难,并且
.Filter()
它似乎不喜欢尝试筛选到没有特定值的项目。。。。。所以我想出了下面的怪物;它不是很优雅,但它在我的测试页面上工作,并且应该在几乎所有的时间都能工作,因为只有少量的链接,并且这些链接中有相当一部分没有类
因为它可能找不到没有类/空白类的链接,如果是这样,它将显式抛出异常。实现一个已经尝试过链接的存储不会太困难,并且只有在没有任何未定义类的链接时才会抛出异常。下面的方法实施起来更快,而且可能“足够好”
var browser=ie.Page()//这里显然匿名。
int numberOfLinks=browser.Document.Links.Count;
随机=新随机();
int randomNum=random.Next(0,numberOfLinks);
int计数器=0;
int maxTimesToTry=1000;
对于(int i=0;i
在WatiN 2.1、IE9、Win7、NUnit 2.5上测试,使用.Filter()
似乎不喜欢尝试筛选到没有特定值的项。。。。。所以我想出了下面的怪物;它不是很优雅,但它在我的测试页面上工作,并且应该在几乎所有的时间都能工作,因为只有少量的链接,并且这些链接中有相当一部分没有类
因为它可能找不到没有类/空白类的链接,如果是这样,它将显式抛出异常。实现一个已经尝试过链接的存储不会太困难,并且只有在没有任何未定义类的链接时才会抛出异常。下面的方法实施起来更快,而且可能“足够好”
var browser=ie.Page()//这里显然匿名。
int numberOfLinks=browser.Document.Links.Count;
随机=新随机();
int randomNum=random.Next(0,numberOfLinks);
int计数器=0;
int maxTimesToTry=1000;
对于(int i=0;i
在WatiN 2.1、IE9、Win7和NUnit 2.5上测试
var browser = ie.Page<MyPageClass>(); //obviously anonymized here.
int numberOfLinks = browser.Document.Links.Count;
Random random = new Random();
int randomNum = random.Next(0, numberOfLinks);
int counter = 0;
int maxTimesToTry = 1000;
for (int i = 0; i < maxTimesToTry; i++)
{
if (string.IsNullOrEmpty(browser.Document.Links[randomNum].ClassName))
{
Console.WriteLine("url: " + browser.Document.Links[randomNum].Url);
break;
}
else
{
randomNum = random.Next(0, numberOfLinks);
}
counter++;
}
if (counter == maxTimesToTry)
{
throw new Exception(string.Format("Unable to find a link without a class in {0} tries", maxTimesToTry));
}