博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
powershell 模拟IE行为
阅读量:6818 次
发布时间:2019-06-26

本文共 1249 字,大约阅读时间需要 4 分钟。

本来是想尝试使用curl模拟post向新浪发送微博,但是试了几次都没有成功。看到一些文章于是想到可以使用powershell模拟IE的动作来做。发现这样做更为简便

1 可以先用IE来自动读取cookie,而不用在代码中直接设置cookie

2 powershell是模拟正常用户的行为,服务器端几乎无法对这种行为进行禁止

3 代码简单,容易进行修改

 

下面是powershell的代码(运行前先手动使用IE登录微博,并让IE记录用户名和密码,记录cookie)

function
 NavigateIE(
$url
)
{
    
$ie
 
=
 new
-
object 
-
com 
"
InternetExplorer.Application
"
;
    
$ie
.navigate(
$url
);
    
#
ie.visible=ie.visible=true;
    [System.Threading.Thread]
::
Sleep(
2000
);
    
return
 
$ie
;
}
function
 FindTag(
$params
)
{
    
$ie
 
=
 
$params
[
0
];
    
$tagname
 
=
 
$params
[
1
];
    
$contain
 
=
 
$params
[
2
];
    
$doc
 
=
 
$ie
.document;
    
$tags
 
=
 
@
(
$doc
.getElementsByTagName(
$tagname
));
    
foreach
(
$tag
 
in
 
$tags
)
    {
        
if
(
$tag
.outerHTML.contains(
$contain
))
        {
            
$sel
 
=
 
$tag
;
            
break
;
        }
    }
    
return
 
$sel
;
}
$ie
 
=
 NavigateIE(
"
http://weibo.com/12321
"
);
$talk
 
=
 FindTag(
$ie
"
textarea
"
, 'id
=
publish_editor');
$but
 
=
 FindTag(
$ie
"
span
"
, 'class
=
bgColorB');
$talk
.value 
=
 
"
test
"
;
$but
.click(); 

 

主要的函数是:NavigateIE和FindTag,一个函数阅读为打开IE,一个函数阅读为找到标签

 

代码的流程就是:  打开IE -- 找到输入框 -- 填写信息 -- 找到提交按钮 -- 单击提交按钮

很简洁明了

 

PS:这个代码不是针对新浪微博的行为。只是闲来无事的实验。

 

个人认为这种方法应该可以使用在为网站的测试人员做模拟测试,因为这个代码操作就是和人的行为操作是完全一致的。能很好的模拟人的行为,也有更强的说服力。但是现在还没遇到实际的情况使用。

 

本文转自轩脉刃博客园博客,原文链接:http://www.cnblogs.com/yjf512/archive/2011/06/08/2075531.html,如需转载请自行联系原作者

你可能感兴趣的文章
Asp.net读取AD域信息的方法<转>
查看>>
IntelliJ IDEA中JAVA连接MYSQL
查看>>
nginx反向代理tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题
查看>>
OpenGL入门笔记(十五)
查看>>
【正视CSS 05】我们错过了些什么,为何叶小钗?
查看>>
人格类型测试
查看>>
说说JSON和JSONP,也许你会豁然开朗(转)
查看>>
百度eCharts体验
查看>>
x-requested-with 请求头 区分ajax请求还是普通请求
查看>>
两种attach to process的方法
查看>>
服务器磁盘监控脚本分享(含报警邮件)
查看>>
Eclipse快捷键 10个最有用的快捷键
查看>>
网页缩放对 FLASH的影响
查看>>
FLTK 1.3.3 VS 2010 Configuration 配置
查看>>
说说IUnitOfWork~认识IUnitOfWork,为什么要出现IUnitOfWork接口
查看>>
CentOS 7.4 安装 nginx
查看>>
4.3. Unison File Synchronizer
查看>>
statpot:使用mongo+bootstrap+highcharts做统计报表
查看>>
Android开发者指南(8) —— What is Android?
查看>>
利用”发送到”实现快速复制
查看>>