电竞比分网-中国电竞赛事及体育赛事平台

分享

關(guān)於用Delphi 自動提交表單 以及自動填表 自動點擊鏈接

 獨孤求財 2012-05-17
關(guān)於用Delphi 自動提交表單 以及自動填表 自動點擊鏈接
2009-03-26 16:09

關(guān)於用Delphi 自動提交表單 以及自動填表 自動點擊鏈接

轉(zhuǎn)載請保留來源:http://hi.baidu.com/szba/blog/item/9a0e5c1eed0431fc1bd57697.html

[一] 自動提交表單

     1,通過Submit提交            :<input type=submit name=sub id=sub>

          有ID 或者Name 提交方法: web.oleobject.document.all.item('sub').click;

          無ID 無Name 提交方法    :

            for i := 0 to web.OleObject.Document.all.tags('Input').Length - 1 do begin
                  startag := web.oleobject.document.all.tags('input').item(i);
                 if startag.type =submit then
                     web.oleobject.document.all.tags('input').item(i).click;
//(獲取這個i以后,如果網(wǎng)頁內(nèi)容是固定的就可以直接用上面一句,改I為實際的數(shù)字);
           end;

       2,通過表單名提交

             同樣有ID或者Name 提交方法:

                    web.oleobject.document.all.item('表單name或者ID').submit;

                   或者:.web.oleobject.document.getelementbyid('對應的ID').click;

            無ID 無name 提交方法           :

                 web.OleObject.document.getElementsByTagName('form').item(0).submit;

              或者:web.OleObject.document.frames.item(0).click;//其中itme(0)表示第一個表單

關(guān)於用Delphi 自動提交表單 以及自動填表 自動點擊鏈接

轉(zhuǎn)載請保留來源:http://hi.baidu.com/szba/blog/item/9a0e5c1eed0431fc1bd57697.html

---------------------------------------------2009年3月26日------------------------------------------

[二自動點擊鏈接]

    1,直接用Webbrowser 打開:Webbrowser.navigae('網(wǎng)址');

     2,用歷遍的方法點擊包含有指定字符的連接:

        for i := 0 to wb.OleObject.Document.links.Length - 1 do begin
             str := wb.oleobject.document.links.item(i).innertext;//表示被連接的文字
             if ansicontainsstr(str,edit1.Text) then //如果包含指定字符將點擊
                 wb.OleObject.Document.links.item(i).click;
      

        end;

     3,無明連接的連接,如<SPAN>連接</SPAN>,<DIV id='test'>連接</Div>,<ul name=test>連接</ul>等等這類是事件連接用兩種方法

     (1),對於有ID或者name 的就好處理:web.oleobject.document.getelementbyid('對應的ID').click;

     (2),多數(shù)時候是有ID 或者NAME的因為要與事件關(guān)聯(lián),遇到?jīng)]有ID或NAME的時候用歷遍標籤的方法來獲取

           for i := 0 to wb.OleObject.Document.all.tags('標籤如:DIV').Length - 1 do begin
               str:= wb.oleobject.document.all.tags('標籤).item(i).innertext;
              if ansicontainsstr(str,'指定字符串') then begin
                 wb.oleobject.document.all.tags('標籤').item(i).click;
                exit;end;
       end;

      有種情況就是即使找到指定標籤或者連接點擊了可是沒有反應就用下麵兩種方法:   wb.OleObject.document.all.item('標籤ID或NAME').select;//光標定位到標籤上
      keybd_event(13,0,0,0);//發(fā)送一次回車鍵。  

      那有的時候發(fā)送回車鍵也沒有用呢?那就用:

       Wb.OleObject.document.all.tags('DIV').item(第N個DIV就是數(shù)字比如:10).FireEvent('onmousedown',EmptyParam);
     Wb.OleObject.document.parentWindow.document.all.tags('DIV').item(10).FireEvent('onmouseup',EmptyParam);//發(fā)送一個虛擬的鼠標按鍵動作

到目前為此本人就只遇到這些類型的連接了。當然FLASH里面的沒有研究過。

-------------------------------------------------2009年4月10日--------------------------------------

[三如何自動操作帶框架的表單]

      舉例 http://www./ 舉例如果自動登陸呢?大家可以去測試GOOGLE它用的也是框架(只GOOGLE的登陸頁可以被獨立出來讓我們操作)。這個網(wǎng)址就不同它的子框架頁中用JS操作不讓其跳出框架那我們?nèi)绾沃苯硬僮魉谋韱文兀?/FONT>

一句話:
webbrowser.OleObject.document.frames.item(0).document.all.item('username').value :='你的內(nèi)容';

其中的frames.item(0)的0表示第一個子框架頁,如果有更多的子框架就變成frames.item(1)以此類推。

備註:有的時候網(wǎng)頁輸入框會要求有按鍵事件才能給值。此時可以讓輸入框取得焦點再發(fā)送一個虛擬按鍵動作keybd_event($49,0,0,0);

-------------------------------------------------2009年4月25日--------------------------------------

轉(zhuǎn)載請保留來源:http://hi.baidu.com/szba/blog/item/9a0e5c1eed0431fc1bd57697.html
關(guān)於用Delphi 自動提交表單 以及自動填表 自動點擊鏈接

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多