爬蟲技術 -- 進階學習(八)模擬簡單瀏覽器(附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的事件,配置如下圖所示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM