用C#打开默认浏览器并打开指定网页 并对网页进行一些操作

想做一个工具,可以打开默认浏览器,并打开指定的网页
1,网页是多页的, 获取总页数 网页上面没有参数,只能读取源码中的指定元素才能获取到
2,可以点击网页中的下一页按钮
3,可以通过模拟键盘的Ctrl+A全选网页
4,可以通过模拟键盘的Ctrl+C复制

2个回答

默认浏览器打开页面 System.Diagnostics.Process.Start("http://pan.baidu.com/s/1sl1uCjj");
1 打开多个页面不能弄个计数器吗?读取元素的给你个例子(写在函数里),总体思路就是获取html代码,然后正则匹配:
var wc = new WebClient();
var html = wc.DownloadString("http://zhidao.baidu.com/question/499087825.html");
//Console.Write(html);
var regex1 = new Regex("(?.*?)");
var regex2 = new Regex(@"\s(?.*?)\s");
if (regex1.IsMatch(html))
{
var title = regex1.Match(html).Groups["title"].Value;
var time = regex2.Match(html).Groups["time"].Value;
time = Regex.Replace(time, @"[^\d]*", "");
time = time.Substring(0, 4) + "/" + time.Substring(4, 2) + "/" + time.Substring(6, 2) + " " + time.Substring(8, 2) + ":" + time.Substring(10, 2) + ":" + time.Substring(12, 2);
// MessageBox.Show(title+time);
DateTime dt = DateTime.Parse(time);
Console.WriteLine(title + time);
}
2,3,4 可以模拟鼠标键盘操作
鼠标:
[System.Runtime.InteropServices.DllImport("user32")]
public extern static void mouse_event(int dwFlags, int dx, int dy, int dwData, IntPtr dwExtraInfo);
[System.Runtime.InteropServices.DllImport("user32")]
static extern bool SetCursorPos(int X, int Y);

             //移动鼠标 
    const int MOUSEEVENTF_MOVE = 0x0001;
    //模拟鼠标左键按下 
    const int MOUSEEVENTF_LEFTDOWN = 0x0002;
    //模拟鼠标左键抬起 
    const int MOUSEEVENTF_LEFTUP = 0x0004;

    const int MOUSEEVENTF_ABSOLUTE = 0x8000;

            //鼠标点击位置
    private void mouse_click(Point p1)
    {
        SetCursorPos(p1.X, p1.Y);
        mouse_event((int)(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE), p1.X, p1.Y, 0, IntPtr.Zero);
        mouse_event((int)(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE), p1.X, p1.Y, 0, IntPtr.Zero);
    }


            键盘:
            SendKeys.Send(SendKeys.Send("^{A}"););//ctrl+A
            SendKeys.Send(SendKeys.Send("^{C}"););//ctrl+C
qq_29516283
冷场王 回复hardtoking: 是不是没有定位好?鼠标点击时需要的是绝对位置
3 年多之前 回复
hardtoking
hardtoking 昨天调试好的程序,今天再运行时,不知道怎么回事儿 可以操作记事儿本,可是点击不了网页了 不知道啥情况
3 年多之前 回复

用webbrowser控件就好了。直接读取html源代码并且操作,我猜测你用不到剪贴板

hardtoking
hardtoking bho是不是一个很老的东西了,在网上搜的很多教程,都是零几年的
3 年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复hardtoking: 那你可以用bho去实现
3 年多之前 回复
hardtoking
hardtoking 这个要操作的网页有防爬取机制,直接去爬会被封 另外还一个是 用webbrowser打开网页,总是弹出证书什么的,而且网页内容好像也显示不全,不知道怎么回事儿
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐