自动点击网页按钮

在VC里用webbrowser控件模拟自动点击按钮,有如下3种方法,但不是每时每刻都行的通的,哪种方便用哪种。


一、获取该按钮的网页元素接口,调用接口的click()函数

1.用httpWatch等工具获得该按钮的网页元素ID(strElementId)

2.获取网页元素集合,pRightDoc是该网页的文档接口

IHTMLElementCollection* pElemColl = NULL;

hr = pRightDoc->get_all( &pElemColl );                           // 获取网页元素集合

3.点击按钮


void ButtonClick(IHTMLElementCollection * pElemColl, CString strElementId)

{

IDispatch *pDisp;

HRESULT hr;

VARIANT index;

VARIANT varID;


V_VT(&index) = VT_I4;

V_I4(&index) = 0;

varID = StringToVariant(strElementId);


hr = pElemColl->item(varID, index, &pDisp);   // 获得按钮位置


if ( (hr == S_OK) && (pDisp != NULL) ) 

{

IHTMLElement* pElem = NULL;               // 获得按钮元素接口

        hr = pDisp->QueryInterface(IID_IHTMLElement, (void**)&pElem);


        if (  (hr == S_OK) && (pElem != NULL) )

        {

pElem->click();                       // 点击按钮

pElem->Release();

        }

pDisp->Release();

}

}



二、一般点击按钮后是为了执行一个JavaScipt函数,故可以直接执行该JavaScipt函数也可以达到点击按钮的效果。

1.用httpWatch等工具获得该网页的源码,如“确定”按钮的源码部分:

<input class="e_button" type="button" id="button_ok" name="button_ok"

value="确定" οnclick="jsFuction();" />

      这样表明点击该按钮后执行jsFuction()函数。

CString strJsFuc = “jsFuction()”;

        2.获得文档的父窗口接口,pRightDoc是该网页的文档接口

IHTMLWindow2*  pWindow;  

hr  =  pRightDoc->get_parentWindow(&pWindow);

        3.执行 JavaScipt函数

void ExecJavascipt(IHTMLWindow2*  pWindow, CString strJsFuc)

{

VARIANT  ret;  

ret.vt    =  VT_EMPTY; 

BSTR bstrCode = strJsFuc.AllocSysString();

BSTR bstrLanguage = SysAllocString(L"javascript");

pWindow->execScript(bstrCode, bstrLanguage, &ret);

}

 

三、有些网页按钮还设置了快捷键,如按F2就表明点击该按钮,这样可以向该webbrowser控件发送F2键盘消息

1.获得webbrowser控件句柄

h_Wnd = ::FindWindow(NULL,"程序窗口标题");

HWND hShell = ::FindWindowEx(h_Wnd,NULL,"Shell Embedding",NULL);

HWND hView = ::FindWindowEx(hShell,NULL,"Shell DocObject View",NULL);

HWND hIEServer = ::FindWindowEx(hView,NULL,"Internet Explorer_Server",NULL);

2.发送F2键盘消息

::PostMessage(hIEServer,WM_KEYDOWN,VK_F2,0);

::PostMessage(hIEServer,WM_KEYUP,VK_F2,0);

 

 

OA文件签收脚本是一种自动化脚本,用于在OA系统中自动点击网页按钮,以实现文件的签收功能。在日常工作中,我们经常需要签收各种文件,例如审批文件、会议纪要等。而手动签收这些文件需要花费大量的时间和精力,特别是在文件量较大的情况下。 为了提高工作效率,可以使用OA文件签收脚本来自动点击网页按钮。这个脚本通常是由专业的脚本开发人员编写的,通过模拟鼠标点击的方式,实现自动化签收功能。 使用OA文件签收脚本可以带来以下好处: 1. 节省时间和精力:自动化签收文件可以大大减少手工操作的时间,提高工作效率。只需要简单设置脚本参数,脚本就可以自动完成签收操作,无需人工干预。 2. 减少错误率:手动签收文件时可能会出现疏忽或误操作的情况,而自动化签收脚本可以避免这些问题的发生。通过精确的脚本编写,可以有效降低错误率,提高工作的准确性。 3. 增加工作灵活性:OA文件签收脚本可以根据实际需求进行定制,适应不同类型的文件签收任务。用户可以根据自己的需要设置脚本参数,使其适用于各种不同的签收场景。 需要注意的是,使用OA文件签收脚本需要谨慎操作。在使用脚本的过程中,应确保脚本的合法性和功能完整性。此外,还应遵循公司的相关政策和规定,确保文件签收的合规性。 综上所述,OA文件签收脚本是一种可以自动点击网页按钮的工具,能够帮助我们提高工作效率、减少错误率、增加工作灵活性。通过合理使用这种脚本工具,我们可以更好地完成文件签收任务,提高工作效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值