我最近开始测试和使用WatiN,我遇到了一些我无法解决的问题/错误。
首先描述我正在做的测试... 我将去列表中的特定div中的所有链接...所以我有一个链接列表...我将循环通过... 在循环中我将使用link.clicknowait()函数,打开该链接(它在一个新的ie选项卡中打开)..然后我睡眠线程几秒钟,我通过附加该链接(网址)关闭该浏览器一个新的浏览器,之后浏览器关闭,我总是使用'using(..)'语句。
所以第一个问题是,当浏览器获取所有链接并开始点击它们时,其中一个链接可能会导致不正确的页面,这意味着它可能会导致页面再次出现页面存在,所以之后我不能再关闭那个页面......如何解决这个问题并攻击那个不存在的页面? 它没有固定网址......你可以推荐什么?
是否有类似“尝试附加到....”的方法,因为如果它试图攻击浏览器到不存在的链接,我会收到错误。
无论如何还要检查链接列表中的链接是否仍然是正确的,因为我也有几次不能点击该链接,因为它在页面中是空的... 或者我可以检查像link.trytoclick()这样的东西,如果有错误,只是忽略该链接并进一步探索???
点击很多链接和打开和关闭浏览器后的最后一个问题我得到了一个错误outofmemoryexception ..它怎么可能,我使用'使用语句',它总是关闭它的浏览器...
提前感谢您的帮助。
答案 0 :(得分:1)
您可以使用href在您的watin会话的同一窗口中打开链接,验证链接后可以返回原始页面。
有些事情是这样的:
string href = browser.Link("link_id").GetAttributeValue("href"); //or your link from the collection
browser.GoTo(href);
//Perform you check
browser.Back();
要检查链接是否存在,请使用:
session.browser.Back();