html自动按键,VBS脚本和HTML DOM自动操作网页

本来是想通过JS实现对其他页面的控制,发现跨域无法获取页面DOM来操作。接着考虑bat,发现也实现不了,于是想到vbs。vbs还是很强大啊,病毒之类很多都是vbs脚本啊。vbs打开浏览器,然后通过dom来操作页面,可以实现自动填写内容和按钮点击等。摸索了几个常用的,代码如下:

1、网页文本框赋值并提交按钮

Dim wsh,ie,btn,con

Set ie = WScript.CreateObject("InternetExplorer.Application")

ie.Visible = true

ie.navigate "http://www.baidu.com"

Do

Wscript.Sleep 200

Loop Until ie.readyState = 4

Set con=ie.Document.getElementById("kw")

con.value="big data"

Set btn=ie.Document.getElementById("su")

btn.click

2、动态js加载的网页,深入frame内自动操作

Dim wsh,ie,btn,obj,sel,del

Set wsh=CreateObject("wscript.shell")

Set ie = WScript.CreateObject("InternetExplorer.Application")

ie.Visible = true

ie.navigate "http://mail.qq.com"

'等待网页打开成功,qq邮箱参照前面自动填写用户名和密码提交,下面的id都是登录qq邮箱后的页面才有

Do

Wscript.Sleep 200

Loop Until ie.readyState = 4

'找到指定id的a标签并点击

Set btn =ie.Document.getElementById("folder_1")

btn.focus

btn.click

wsh.SendKeys "{ENTER}"

'等待网页打开成功

Do

Wscript.Sleep 200

Loop Until ie.readyState = 4

'通过frame/iframe的id获取其页面

set obj = ie.document.frames("mainFrame").document

'全部勾选checkbox

Set sel=obj.getElementById("ckb_selectAll")

'sel.checked=true

sel.click

Wscript.Sleep 2000

'a标签点击

Set del=obj.getElementById("quick_completelydel")

del.click

'从页面中找到指定id的元素

'For i=0 To obj.all.length-1

'If obj.all(i).id="id no" Then

'msgBox "get"

'End If

'Next总结:要实现对网页的自动操作,比如用于测试或者一些批量工作,首先要解析网页的元素,然后针对元素进行自动操作,HTML DOM是需要掌握的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395388.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opencv在同一窗口打印多张图片

首先,由于cv2处理的图片是通过ndarray的格式操作的,也就是说通过array的拼接就可以实现图片的拼接,那么之后就可以通过简单的imshow将合并的图片打印从而达到在一个窗口中显示多张图片的目的。 import cv2 import numpy as npimg1 cv2.imrea…

dj打碟怎么学_学DJ打碟 - Rane声卡连接

上一篇内容中,老师讲过在学DJ打碟的时候,是离不开对软件方面的操作,其实每一个学习过程,当你学会之后,在“回头看”的时候,都会觉得:原来学DJ打碟这么简单啊,这就是已经学习过的人会…

微信企业号第三方应用开发[一]——创建套件

注:文中绿色部分为摘自微信官方文档 第三方应用提供给企业的是一个应用,但是应用必须在套件下创建,所以第一步是要创建套件。 注册成为应用提供商,必须输入以下信息: 信息项要求及说明企业Logo应用提供商的企业Logo&am…

advanced east_SpriteKit Advanced —如何构建2,5D游戏(第二部分)

advanced eastby Luke Konior卢克科尼尔(Luke Konior) SpriteKit Advanced —如何构建2,5D游戏(第二部分) (SpriteKit Advanced — How to build a 2,5D game (Part II)) 介绍 (Intro) This article shows how to write basic shaders in the SpriteKit. It’s split into two…

html原生上传,一个基于HTML5及原生JS的文件上传组件--JohnUploader

运行效果图一、组件介绍基本特点基于HTML5的FileReader和FormData可以完成多文件选择,并预览完成文件的异步上传原生XHR对象,适配多浏览器代码class JohnUploader{url;fileField;vollay;/**** param url 文件上传的地址* param fileField 一个"文件…

[20170617]vim中调用sqlplus.txt

[20170617]vim中调用sqlplus.txt --//以前写过一篇emacs下调用sqlplus的文章,一直想学emacs,受限制自己掌握vim,对学习它没有兴趣,原链接如下: --//http://blog.itpub.net/267265/viewspace-1309032/ --//实际上vim也有插件连接数据库,我觉得不好用,一直没这样用. --//今天在整…

centos redis验证_centos7中安装、配置、验证、卸载redis

本文介绍在centos7中安装、配置、验证、卸载redis等操作,以及在使用redis中的一些注意事项。一 安装redis1 创建redis的安装目录利用以下命令,切换到/usr/local路径cd /usr/local键入以下命令,新建一个redis目录,用于放置redis软件…

实习生解雇_我们解雇了我们的顶尖人才。 我们做出的最佳决定。

实习生解雇by Jonathan Solrzano-Hamilton乔纳森索洛萨诺汉密尔顿(JonathanSolrzano-Hamilton) 我们解雇了我们的顶尖人才。 我们做出的最佳决定。 (We fired our top talent. Best decision we ever made.) “You will never be able to understand any of what I’ve create…

微信企业号第三方应用开发[二]——创建应用

在应用套件里添加应用 当你创建完应用套件后,需要在套件配置应用,应用的信息填写如下。 基本信息: 信息项要求及说明应用Logo应用的Logo,小于2M,640*640,在授权页会被用于展示。应用名称应用的名称&#xf…

es6新增的html标签,javascript – 如何导入已在html中的标签中定义的es6模块?

我可以在我的html文件me.html中定义一个模块:import Atom from ./atom.js;console.log("definition of getAtom")export default function getAtom(){return new Atom(atom);}console.log("exported getAtom")另见>是否可以将该“匿名”模块…

jQ效果:简单的手风琴效果

实现效果如图所示&#xff1a; html结构&#xff1a; <div class"item_box box10"><div class"item_box_wp"><div class"voice_2"><ul><li class"li1" id"li1"><div class"fold"…

golang 日志分析_容器日志采集利器:Filebeat深度剖析与实践

在云原生时代和容器化浪潮中&#xff0c;容器的日志采集是一个看起来不起眼却又无法忽视的重要议题。对于容器日志采集我们常用的工具有filebeat和fluentd&#xff0c;两者对比各有优劣&#xff0c;相比基于ruby的fluentd&#xff0c;考虑到可定制性&#xff0c;我们一般默认选…

机器学习做自动聊天机器人_建立聊天机器人需要什么? 让我们找出答案。

机器学习做自动聊天机器人by Vanco Stojkov通过Vanco Stojkov 建立聊天机器人需要什么&#xff1f; 让我们找出答案。 (What does it take to build a chatbot? Let’s find out.) Without any delay, the image below shows what we are building:没有任何延迟&#xff0c;下…

UVA 11582 Colossal Fibonacci Numbers!【数学】

大一刚开始接触ACM就买了《算法竞赛入门经典》这本书&#xff0c;当时只能看懂前几章&#xff0c;而且题目也没做&#xff0c;粗鄙地以为这本书不适合自己。等到现在快大三了再回过头来看&#xff0c;发现刘老师还是很棒的&#xff01; 扯远了。。。 题意&#xff1a;问f[a^b]%…

Codeforces 919D Substring (拓扑图DP)

手动博客搬家: 本文发表于20180716 10:53:12, 原地址https://blog.csdn.net/suncongbo/article/details/81061500 给定一个\(n\)个点\(m\)条边的有向图&#xff08;不一定无环&#xff09;&#xff0c;每个点上有一个小写字母。要找一条路径&#xff0c;使得路径上出现次数最多…

layui自定义查询条件html页面,Layui的数据表格+springmvc实现搜索功能的例子_飛雲_前端开发者...

如下所示&#xff1a;主要在前端页面加&#xff1a;搜索ID&#xff1a;useridcontent搜索在reload:function () {var keyWord$("#keyWord").val();var keyType$("#key_type option:selected").val();table.reload(contenttable,{method:post,where:{keyWor…

mysql+keepalived 双主热备高可用

理论介绍&#xff1a;我们通常说的双机热备是指两台机器都在运行&#xff0c;但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候&#xff0c;另外一台会马上自动接管并且提供服务&#xff0c;而且切换的时间非常短。MySQL双主复制&#xff0c;即互为Master-Sl…

java ldap userpassword 解密_Spring Boot中使用LDAP来统一管理用户信息

LDAP简介LDAP(轻量级目录访问协议&#xff0c;Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统&#xff0c;其专门针对读取&#xff0c;浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的&#xff0c;基于…

第三章之枚举、注解

2019-01-22内容&#xff1a;枚举、注解一、自定义一个枚举类1 public class TestSeason {2 3 public static void main(String[] args) {4 Season spring Season.Spring;5 System.out.println(spring);6 }7 }8 public class Season {9 //将属性定…

html打开后默认浏览器页面,使用VBA打开默认浏览器中的html页面?

您可以使用Windows API函数ShellExecute来执行此操作&#xff1a;Option ExplicitPrivate Declare Function ShellExecute _Lib "shell32.dll" Alias "ShellExecuteA" ( _ByVal hWnd As Long, _ByVal Operation As String, _ByVal Filename As String, _Op…