我需要从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,闪光的方法”使用壁虎导航....请帮助:(
感谢阅读我的帖子!!
答案 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#中指出相同的答案