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的事件,配置如下图所示:

  • 相关阅读:
    iSCSI又称为IPSAN
    文档类型定义DTD
    HDU 2971 Tower
    HDU 1588 Gauss Fibonacci
    URAL 1005 Stone Pile
    URAL 1003 Parity
    URAL 1002 Phone Numbers
    URAL 1007 Code Words
    HDU 3306 Another kind of Fibonacci
    FZU 1683 纪念SlingShot
  • 原文地址:https://www.cnblogs.com/mvc2014/p/3776004.html
Copyright © 2011-2022 走看看