【问题标题】:Try to get for WatiN for links/browsers尝试为链接/浏览器获取 WatiN
【发布时间】:2011-12-11 19:57:17
【问题描述】:

我最近开始测试和使用 WatiN,遇到了一些我无法真正解决的问题/错误。

首先描述一下我在做我的测试.. 我会去获取列表中特定 div 中的所有链接...所以我有一个链接列表...我要循环遍历... 在循环中,我将使用 link.clicknowait() 函数打开该链接(它在新的 ie 选项卡中打开).. 然后我将线程休眠几秒钟,然后通过将该链接(url)附加到该浏览器来关闭该浏览器一个新的浏览器,然后浏览器被关闭,因为我总是使用“使用(..)”语句。

所以第一个问题是,当浏览器获取所有链接并开始点击它们时,其中一个链接可能指向不正确的页面,这意味着它可能会导致页面显示页面不再存在,所以在我不能再关闭那个页面了......如何解决这个问题并攻击那个不存在的页面? 它还没有固定的网址……有什么可以推荐的吗?

是否有类似“尝试附加到...”之类的方法,因为如果它试图攻击浏览器到不存在的链接,我会收到错误消息。

还有无论如何检查链接列表中的链接是否仍然是正确的,因为我也有几次例外,它无法点击该链接,因为它在页面中是空的...... 或者我可以检查一下 link.trytoclick() 之类的东西,如果出现错误并忽略该链接并继续前进???

单击大量链接并打开和关闭浏览器后的最后一个问题我得到了一个错误 outofmemoryexception .. 怎么可能,我使用了“使用语句”,它总是在浏览器用完时关闭...

提前感谢您的帮助。

【问题讨论】:

    标签: c# .net watin


    【解决方案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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-14
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 2019-04-07
      • 2023-03-18
      • 2017-03-28
      • 1970-01-01
      相关资源
      最近更新 更多