Delphi Webbrowser使用方法详解(二)
delphi如何用webbrowser模拟登录网站?
我们就以如何登录博客园来做示例:
1.要登入一个网站,首先要获取网页的源代码,我们可以通过网页菜单--查看--查看源代码来获取。
2.我们找到登录部分的代码:
<div id="Heading">登录到博客园 <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" /> <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("btnLogin", "", true, "", "", 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使用方法详解(二)的更多相关文章
- Delphi Webbrowser使用方法详解
1.webbroser介绍 该组件是一个浏览器组件,可以显示一个指定地址的网页.设置网页打开时的主页以及对网页进行相关的操作,同时也可以对HTML文件进行剪切.复制.粘贴.删除等操作.该 组件在Int ...
- Delphi Webbrowser使用方法详解(一)
1.webbroser介绍 该组件是一个浏览器组件,可以显示一个指定地址的网页.设置网页打开时的主页以及对网页进行相关的操作,同时也可以对HTML文件进行剪切.复制.粘贴.删除等操作.该 组件在Int ...
- Java构造和解析Json数据的两种方法详解二
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...
- Java构造和解析Json数据的两种方法详解二——org.json
转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html 在www.json.org上公布了很多JAVA下的jso ...
- Java构造和解析Json数据的两种方法详解一——json-lib
转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/23/3096001.html 在www.json.org上公布了很多JAVA下的jso ...
- Delphi中TStringList类常用属性方法详解
TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delim ...
- “全栈2019”Java多线程第十二章:后台线程setDaemon()方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- java多线程并发(二)--线程的生命周期及方法详解
上篇随笔介绍了线程的相关基础知识以及新启线程的几种方法,本片将继续介绍线程的生命周期及方法详解. 一.线程的生命周期 在Thread代码中,线程的状态被分为6种 public enum State { ...
- MP实战系列(十二)之封装方法详解(续二)
继续MP实战系列(十一)之封装方法详解(续一)这篇文章之后. 此次要讲的是关于查询. 查询是用的比较多的,查询很重要,好的查询,加上索引如鱼得水,不好的查询加再多索引也是无济于事. 1.selectB ...
随机推荐
- Python学习(003)-列表[]
列表[] a=['张帅','李四','王五','陈六','黄旗'] print(a[2]) 王五 print(a[1:3]) ['李四','王五'] 左包含,右不包含 print(a[1: ...
- videojs 隐藏videobar
video::-internal-media-controls-download-button { display: none; } video::-webkit-media-controls-enc ...
- promise的生命周期
每个promise都会经历一个短暂的生命周期: 先是处于进行中(pending)状态,此时操作并未完成,所以他也是未处理的(unsettled): 一旦异步惭怍执行结束,promise则 变为已处理( ...
- I.MX6 Linux Serial Baud Rate hacking
/******************************************************************************** * I.MX6 Linux Seri ...
- 网络流--最大流ek模板
标准大白书式模板,代码简单但由于效率并不高,所以并不常用,就是这样 #include<stdio.h> #include<string.h> #include<queue ...
- 在Docker中运行crontab
在把自己的项目通过Docker进行打包时,由于项目中用到了crontab,不过使用到的基础镜像python:3.6-slim并没有安装这项服务,记录下在镜像中安装和配置crontab的过程. Dock ...
- 走进windows编程的世界-----消息处理函数(1)
Win32消息机制 过程驱动:程序是依照我们预先定义好的顺序运行.每运行一步,下一步都已经依照预定的顺序 继续运行,直至程序结束. 事件驱动:程序的运行顺序是无序的.某个时间点所运行的 ...
- BatSendMail
@echo off echo ==================================echo == Compress Files And Send Mail ==echo ======= ...
- velocity 知识点
velocity 教程: http://www.51gjie.com/javaweb/126 velocity 语法 语法 说明 关键字以#开头 定义数组 ['aaa','bbb'] 变量以$开头 把 ...
- JSP中的MVC
如下图