zoukankan      html  css  js  c++  java
  • 爬虫技术 -- 进阶学习(八)模拟简单浏览器(附c#代码)

    由于最近在做毕业设计,需要用到一些简单的浏览器功能,于是学习了一下,顺便写篇博客~~大牛请勿喷,菜鸟练练手~

    实现界面如下:(简单朴素版@_@||)

     

    button_go实现如下:

    private void button_go_Click(object sender, EventArgs e)
    {
        string url = comboBox_url.Text.Trim();
        webBrowser1.Navigate(url);
    }
     //每次浏览网页后,combox_url中的文本变成当前网页的url
     private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
     {
         comboBox_url.Text = webBrowser1.Url.ToString();
     }

    button_back实现如下:

     //返回上一个浏览过的网页
     private void button_back_Click(object sender, EventArgs e)
     {
         webBrowser1.GoBack();
     }

    点击一个新的链接时,会弹出新的窗口,默认是ie浏览器打开,应该使它还在此界面显示,而不是在用默认浏览器打开。

    //让webBrowser具有IE特性
    private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
    {
        e.Cancel = true;
        if (webBrowser1.Document.ActiveElement != null)
        {
            webBrowser1.Navigate(webBrowser1.Document.ActiveElement.GetAttribute("href"));
            comboBox_url.Text = webBrowser1.Document.ActiveElement.GetAttribute("href");
        }
    }
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                comboBox_url.Items.Clear();//清空所有项目
                comboBox_url.Text = "http://www.baidu.com/";//列表框初始文本
            }
    
            private void button_go_Click(object sender, EventArgs e)
            {
                string url = comboBox_url.Text.Trim();
    
                webBrowser1.Navigate(url);
            }
    
            //每次浏览网页后,combox_url中的文本变成当前网页的url
            private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
            {
                comboBox_url.Text = webBrowser1.Url.ToString();
            }
    
            //返回上一个浏览过的网页
            private void button_back_Click(object sender, EventArgs e)
            {
                webBrowser1.GoBack();
            }
    
            private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
            {
                e.Cancel = true;
                if (webBrowser1.Document.ActiveElement != null)
                {
                    webBrowser1.Navigate(webBrowser1.Document.ActiveElement.GetAttribute("href"));
                    comboBox_url.Text = webBrowser1.Document.ActiveElement.GetAttribute("href");
                }
            }
    
     
        }
    }
    完整代码

    注:如果发现webBrowser1_Navigated()和webBrowser1_NewWindow()设置后not work。请打开查看webBrowser1的事件,配置如下图所示:

  • 相关阅读:
    Apache 虚拟主机 VirtualHost 配置
    EAX、ECX、EDX、EBX寄存器的作用
    Python中文文档 目录(转载)
    八度
    POJ 3268 Silver Cow Party (最短路)
    POJ 2253 Frogger (求每条路径中最大值的最小值,Dijkstra变形)
    2013金山西山居创意游戏程序挑战赛——复赛(1) HDU 4557 非诚勿扰 HDU 4558 剑侠情缘 HDU 4559 涂色游戏 HDU 4560 我是歌手
    HDU 4549 M斐波那契数列(矩阵快速幂+欧拉定理)
    UVA 11624 Fire! (简单图论基础)
    HDU 3534 Tree (树形DP)
  • 原文地址:https://www.cnblogs.com/lmei/p/3512899.html
Copyright © 2011-2022 走看看