屏幕刮痧 - 仍然无法正常工作

时间:2010-03-12 18:20:42

标签: vb.net visual-studio-2008

我浏览了很多关于此的帖子并尝试了一些建议,但仍然没有完全理解。 我想抓一些脚本运行的html页面,通常执行脚本以在点击后显示链接。一些人提到了firebug和其他人谈到了逆向工程我需要的代码。但在尝试逆向工程后,我仍然没有看到如何在跟踪脚本函数后获取数据。

jQuery('.category-selector').toggle(
        function() {
            var categoryList = jQuery('#category-list');
            categoryList.css('top', jQuery(this).offset().top+43);
            jQuery('.category-selector img').attr        ('src', '/images/up_arrow.png');
            categoryList.removeClass('nodisplay');
        },
        function() {
            var categoryList = jQuery('#category-list');
            jQuery('.category-selector img').attr('src', '/images/down_arrow.png');
            categoryList.addClass('nodisplay');
        }
    );

    jQuery('.category-item a').click(
        function(){

            idToShow = jQuery(this).attr('id').substr(9);
            hideAllExcept(jQuery('#category_' + idToShow));
            jQuery('.category-item a').removeClass('activeLink');
            jQuery(this).addClass('activeLink');
        }
    );

我正在使用vb.net,一些网站很容易使用firebug,在那里查看我能够提取所需数据的脚本。我在这种情况下做了什么?链接是http://featured.typepad.com/,类别是我尝试访问的内容。请注意,网址不会更改。 感谢任何回复。

1 个答案:

答案 0 :(得分:3)

我最好的建议是使用Selenium进行屏幕抓取。它通常用于自动化网站测试,但很适合您的情况。我曾经多次在屏幕上刮取AJAX页面,其中页面依赖于Javascript。

http://seleniumhq.org/projects/ide/

您可以编写屏幕抓取代码以在.NET中运行,它可以使用Firefox或IE来运行您的屏幕抓取。

使用selenium,您将使用Firefox中的Selenium IDE记录屏幕抓取会话(在上面的链接中查找Firefox扩展)。该屏幕抓取会话可以输出HTML模板或C#代码。它也许能够输出VB。

您将把屏幕上的C#或VB.NET输出复制到您将创建的selenium .NET项目中,然后通过Nunit运行Selenium项目。

我建议在网上寻找一些帮助,让Selenium开始工作,但这应该让你顺利。