delphi如何用webbrowser模拟登录网站?

我们就以如何登录博客园来做示例:

1.要登入一个网站,首先要获取网页的源代码,我们可以通过网页菜单--查看--查看源代码来获取。

2.我们找到登录部分的代码:

                        <div id="Heading">登录到博客园 &nbsp;<a href="/register.aspx?ReturnUrl=http://home.cnblogs.com/" title="注册成为博客园用户">立即注册</a></div>

                        <label class="MyLabel">用户名</label>

                        <div class="line"><input name="tbUserName" type="text" id="tbUserName" class="Textbox" />&nbsp;<a href="/GetUsername.aspx" tabindex="-1" class="tb_right">找回用户名</a></div>

                        <span id="Required_UserName" style="color:Red;visibility:hidden;">用户名不能为空</span>

                        <label class="MyLabel">密码</label>

                        <div class="line"><input name="tbPassword" type="password" id="tbPassword" class="Textbox" /> <a href="/GetMyPassword.aspx" tabindex="-1" class="tb_right">找回密码</a></div>

                        <span id="Required_Password" style="color:Red;visibility:hidden;">密码不能为空</span>                        

                        <div>

                        <span class="chk"><input id="chkRemember" type="checkbox" name="chkRemember" /><label for="chkRemember">保存密码</label></span><br />

                        <input type="submit" name="btnLogin" value="登  录" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;btnLogin&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))" id="btnLogin" class="Button"
style="margin-top: 8px" />

因为这个网页是不含框架的,所以可以直接获取到源代码,如果含有框架的网页,后续会讲到如何获取含框架的网页源代码。

3.加入我们已经有用户了,没有的话可以申请个做测试用,我们登录就是输入账号密码点击登录就可以了。

代码如下:

webbrowser1.OleObject.document.all.item('tbUserName').value := '你的用户名';

webbrowser1.OleObject.document.all.item(tbPassword).value := '你的密码;

webbrowser1.OleObject.document.all.item(chkRemember).Click;

这样一个网站简单的登录就实现了,后面我再介绍更多模拟登录的方法和含有框架的登录方法。

转载请注明出处,谢谢!

Delphi Webbrowser使用方法详解(二)的更多相关文章

  1. Delphi Webbrowser使用方法详解

    1.webbroser介绍 该组件是一个浏览器组件,可以显示一个指定地址的网页.设置网页打开时的主页以及对网页进行相关的操作,同时也可以对HTML文件进行剪切.复制.粘贴.删除等操作.该 组件在Int ...

  2. Delphi Webbrowser使用方法详解(一)

    1.webbroser介绍 该组件是一个浏览器组件,可以显示一个指定地址的网页.设置网页打开时的主页以及对网页进行相关的操作,同时也可以对HTML文件进行剪切.复制.粘贴.删除等操作.该 组件在Int ...

  3. Java构造和解析Json数据的两种方法详解二

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...

  4. Java构造和解析Json数据的两种方法详解二——org.json

    转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html 在www.json.org上公布了很多JAVA下的jso ...

  5. Java构造和解析Json数据的两种方法详解一——json-lib

    转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/23/3096001.html 在www.json.org上公布了很多JAVA下的jso ...

  6. Delphi中TStringList类常用属性方法详解

    TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delim ...

  7. “全栈2019”Java多线程第十二章:后台线程setDaemon()方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  8. java多线程并发(二)--线程的生命周期及方法详解

    上篇随笔介绍了线程的相关基础知识以及新启线程的几种方法,本片将继续介绍线程的生命周期及方法详解. 一.线程的生命周期 在Thread代码中,线程的状态被分为6种 public enum State { ...

  9. MP实战系列(十二)之封装方法详解(续二)

    继续MP实战系列(十一)之封装方法详解(续一)这篇文章之后. 此次要讲的是关于查询. 查询是用的比较多的,查询很重要,好的查询,加上索引如鱼得水,不好的查询加再多索引也是无济于事. 1.selectB ...

随机推荐

  1. linux 优化git操作速度

    修改 ssh配置:useDNS:no

  2. 解决python3读写中文txt时UnicodeDecodeError : 'ascii' codec can't decode byte 0xc4 in position 5595: ordinal not in range(128) on line 0的问题

    今天使用python3读写含有中文的txt时突然报了如下错误,系统是MAC OS,iDE是pycharm: UnicodeDecodeError : 'ascii' codec can't decod ...

  3. Linux shell —— 数组与关联数组

    使用 declare -A(declare 的用法请使用 help 进行查看,help declare) 进行声明关联数组变量: $ declare -A fruits_price $ fruits_ ...

  4. 字符串匹配--(K)MP模板

    大白书型模板,并没有写成函数形式: 这个是下标从0开始的: 此外,对于一个长度为 m 的串自匹配,在此模板中 m-p[m] 就是这个串的最小循环节长度(最后一个循环可以不完整) 另一个关于自匹配后的失 ...

  5. window.location.href跳转问题2

    "window.location.href"."location.href"是本页面跳转 "parent.location.href"是上一 ...

  6. JS前端数据多条件筛选(商品搜索)

    有时候也会需要在前端进行数据筛选,增强交互体验.当数据可用的筛选条件较多时,把逻辑写死会给后期维护带来很大麻烦.下面是我自己写的一个简单的筛选器,筛选条件可以根据数据包含的字段动态设置. 仿照京东的筛 ...

  7. $.inArray方法

  8. WPF 第三方控件

    目前第三方控件在网上形成巨大的共享资源,其中包括收费的也有免费的,有开源的也有不开源的,合理的使用第三方控件将使项目组的工作事半功倍.比如项目中有些复杂的业务逻辑.有些绚丽的效果需要有专门的定制控件才 ...

  9. Centos下LNMP安装

    安装nginx [root@xuegod64 ~]# yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel openssl open ...

  10. Anaconda 使用(解决python包管理与环境管理)

    Anaconda完全入门指南(对python环境和原理,讲的比较透彻):https://www.jianshu.com/p/eaee1fadc1e9 用pip一个一个安装第三方库费时费力,还需要考虑兼 ...