使用gecko导航时阻止图像,flash,样式的方法?

时间:2015-09-03 14:58:52

标签: c# gecko geckofx

我需要从abc制作机器人“获取视频链接”。
我使用httpwebrequest和httprespone,但我意识到这个网站有ajax文本,httpwebsite无法得到它。
- >我决定使用geckowebrowser
一步一步
1.使用geckowebrowser documentcomplete事件并使用导航到网站
2.使用geckobutton点击并等待5秒钟以获取ajax文本
- >它成功但速度太慢,它延迟加载样式,图像,闪光等等

所以我试着去搜索,我得到了这个 “在加载DOM时,但在加载所有页面资源(CSS,图像等)之前,会激活DOMContentLoaded事件。”呀,这就是我想要的,我不想加载图片,flash ...
但是当我使用它时,我得到这个代码

    GeckoWebBrowser web2 = new GeckoWebBrowser();
    web2.DOMContentLoaded += Web2_DOMContentLoaded;
    private void Web2_DOMContentLoaded(object sender, DomEventArgs e)
    {
        ...
        //When domcontent loaded i need to get some element
        but i can't find any function can do that here
        i need to use document.getElementById or something like that :(

    }

如何在没有全局变量的情况下做到这一点?或任何其他“阻止图像,CSS,闪光的方法”使用壁虎导航....请帮助:(

感谢阅读我的帖子!!

2 个答案:

答案 0 :(得分:4)

确保您的Gecko网络浏览器UseHttpActivityObserver的属性为True。

现在您可以处理是否要加载不同类型的内容。以下示例适用于.jpg。对不起,它在VB中。要进行转换,您可以使用http://converter.telerik.com/

Private Sub Browser1_ObserveHttpModifyRequest(sender As Object, e As Gecko.GeckoObserveHttpModifyRequestEventArgs) Handles Browser1.ObserveHttpModifyRequest
Dim str = e.Uri.ToString
     If str.Substring(str.Length - 4) = ".jpg" Then
          e.Cancel = True
     End If
End Sub

答案 1 :(得分:-1)

答案是对的,我只想在C#中指出相同的答案

GeckoFX Observer Service