• 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/
    版权声明:本文的版权归作者与博客园共有。欢迎转载阅读,转载时须注明本文的详细链接。

    实时了解作者更多技术文章,技术心得,请关注微信公众号“轩脉刃的刀光剑影”

    本文基于署名-非商业性使用 3.0许可协议发布,欢迎转载,演绎,但是必须保留本文的署名叶剑峰(包含链接http://www.cnblogs.com/yjf512/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系

  • 相关阅读:
    Nokitjs 系列-01
    栗庙科三考场路线图及过关技巧
    oracle创建库和表
    Eclipse 反编译插件安装jad
    在Eclipse中使用Maven插件 博客分类: Java相关技术
    eclipse svn安装
    eclipse tomcat内存溢出,加大内存
    eclipse如何修改dynamic web module version
    Eclipse 使用 Link 方式进行插件的安装
    eclipse中 将java项目转换为web项目 博客分类: Tomcat
  • 原文地址:https://www.cnblogs.com/yjf512/p/2075531.html
Copyright © 2020-2023  润新知