• IT民工系列——c#操作Microsoft IE,实现自动登录吧!


    前言:

    我是一名IT民工,热爱计算机 热爱软件。我从事.net平台开发也有几年了,专注c#。熟悉: ORM/RBAC/AOP/OO/持久层/数据流/工作流/信息流/企业系统开发/Excel等解密等。


    我过去几年直到现在的技术积累,希望能帮上各位兄弟。如果各位兄弟看上眼,一元钱用淘宝拍下;在淘宝商品备注留下email和项目的名字;我会邮寄给您代码源码密码和说明文档。

    一元钱不多,希望能节省您的开发时间,也支持鼓励下我。如果兄弟收到了源码,也请保存好,不要放在互联网上,留小弟一条小小路走。我的淘宝用户是:pixysoft ,请确认,不要被恶意者冒用。


    如果各位兄弟有小项目或者小想法,不想自己费神,我也愿意毛遂自荐承担一下,价格你开,只要我能做的就一定答应帮您做好!

    代码目的:

    通过C#直接操作IE,完成各种复杂的自动功能。
    小声说两句:
    我知道很多哥们搞自动登录很久了,请别喷我,直接用httpwebrequest我知道,先用HttpAnalyzer查看发送的协议,然后用httpwebrequest模拟一个post,可以得到返回的信息。
    不过,登录之后,很多操作不能够用httpwebrequest完成,特别当ie加载了很多activeX,javaApplet之后,很多数据是取不到的。
    最傻的方法,就是直接启动IE,然后获得IE能够获得的数据。
    代码测试片段:

    using System;
    using System.Collections.Generic;
    using System.Text;
    using Pixysoft.Net;
    using System.Threading;

    namespace Pixysoft.Web.Ie
    {
        
    class Testdriven
        {
            
    public void test()
            {
                IeWrapper wrapper 
    = new IeWrapper();

                
    //打开IE,导航到页面

                wrapper.Navigate(
    "http://www.163.com");

                wrapper.Visible 
    = true;

                
    do
                {
                    Thread.Sleep(
    1000);
                } 
    while (!wrapper.IsComplete);



                
    //自动登录,其中username,password,btnlogin 需要查看html源文件的<input>代码,找到name = XXXX

                wrapper.Login(
    "username""password""btnlogin""pixysoft""pixysoft");

                
    do
                {
                    Thread.Sleep(
    1000);
                } 
    while (!wrapper.IsComplete);


                
    //打印登录之后的html

                Console.Write(wrapper.Html);


                
    //关闭IE

                wrapper.Close();
            }
        }
    }



    代码源码下载

    http://www.citi-box.com/accessories/temp/Pixysoft.Web.Ie.rar

    代码资助链接(淘宝):
    http://item.taobao.com/auction/item_detail.jhtml?item_id=86e39a36348da8663d647a9cce75d29c&x_id=0db2


     

  • 相关阅读:
    mysql GROUP_CONCAT 查询某个字段(查询结果默认逗号拼接)
    mysql中find_in_set的使用
    Libev源码分析07:Linux下的eventfd简介
    Libev源码分析06:异步信号同步化--sigwait、sigwaitinfo、sigtimedwait和signalfd
    Nova中的Hook机制
    Python深入:stevedore简介
    Libev源码分析05:Libev中的绝对时间定时器
    Python深入:setuptools简介
    Libev源码分析04:Libev中的相对时间定时器
    Libev源码分析02:Libev中的IO监视器
  • 原文地址:https://www.cnblogs.com/zc22/p/1539445.html
Copyright © 2020-2023  润新知