通过扭曲自动化批准的筛网刮削

时间:2013-04-12 12:36:06

标签: c# screen-scraping watin

我已批准从第三方网站上删除一些数据。抓取效果很好,但是现在由于新的登录过程存在障碍。新的登录过程是智能卡,java和jQuery的混合体。我现在的计划是使用像WatiN这样的东西来实现最终目标。该计划需要做什么......

打开IE以允许用户导航到证书登录。用户将使用他们的证书登录。

应用程序将导航到帖子登录页面并开始抓取。使用WatiN,我可以登录并打开帖子登录页面,但之后我无法做很多事情。

我需要弄清楚的是一种方法来获取我的控制台应用程序,打开IE并登录(手动),然后让刮刀在视觉上或在代码中接管IE窗口。理想情况下,我想从WatiN中的帖子登录页面获取cookie和HTML并开始我的报废,我需要存储由于刮板中的页面更改而导致的cookie。每当我尝试存储cookie时,我都会收到错误“超时等待文档变得可用”任何想法?

Browser browser = new IE();
        browser.GoTo(url);

        browser.WaitForComplete(); //does not seem to work
        string _html = browser.Html;
        var cook= browser.Eval("document.cookie");

1 个答案:

答案 0 :(得分:0)

我刚刚遇到了你的问题。我知道,但它可能会帮助别人。 我使用以下内容附加到打开的Firefox会话。 我使用Firefox,因为它不被用户浏览,并且不太可能更改其设置。

Sub AttachToOrOpenNewBrowser(ByRef ff As WatiN.Core.Browser)
    Try
        'If Browser is open then attach to browser
        ff = Browser.AttachTo(Of FireFox)(Find.First)
    Catch ex As Exception
        'Else open new Browser and attach to this NEW browser
        ff = New FireFox(Trim(url))
    End Try
End Sub

我从我的代码中调用这个子。在调用它之前,我检查ff“什么都不是”,如果已经附加如下:

Sub MainWork()
   Dim ff As WatiN.Core.Browser
   If ff Is Nothing Then AttachToOrOpenNewBrowser(ff)
   'Do your scrape
End Sub