powershell 模拟IE行为

本来是想尝试使用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 = $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:这个代码不是针对新浪微博的行为。只是闲来无事的实验。

 

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

 

 

作者:轩脉刃(yjf512)
出处:(http://www.cnblogs.com/yjf512/
版权声明:本文的版权归作者与博客园共有。欢迎转载阅读,转载时须注明本文的详细链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值