Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   клик по ссылкам сгенерированных Java скриптом (http://forum.oszone.net/showthread.php?t=139187)

pop22 03-05-2009 00:48 1109417

клик по ссылкам сгенерированных Java скриптом
 
клик по ссылкам сгенерированных Java скриптом - реально ли это сделать -если да - то какими командами - функциями это можно осуществить...
если сказать по конкретнее....
на сайте после ввода параметров поисква выводится результат найденных по твоим критериям..
надо чтоб Autoit кликал по ним ....
функциями с IE.au3 помоему никак.....
потому что и вывод результатов и сам клик осуществляются через java .....
собственно над для сайта знакомств. чтоб он кликал на конпку добавтьь в список друзей....
через
_IELinkClickByIndex
_IELinkClickByText не смог осуществить поставленную задачу..
у кого есть какие соображения?

pop22 03-05-2009 14:13 1109625

Код:

function WinkAtMeClicked(userId, linkId, resultIndex)
    {
            var eventArgs = userId+','+linkId+','+resultIndex;
            document.getElementById("winkSpan").innerHTML = "";
            TBMicroRoot.ctlSearchResultsContainer.WinkAtMeClicked(eventArgs, WinkAtMeClicked_Callback);
            return false;
    }
   
    function winkDivNoSubCCInfoCancel1Clicked(clientId)
    {
        document.getElementById("winkSpan").innerHTML = "";
            return false;
    }
   
    function winkDivNoSubCCInfoOK1Clicked(url)
    {
            return GenericNavigateFunction(url);
    }
   
    function winkDivCancelClicked(clientId)
    {
        document.getElementById("winkSpan").innerHTML = "";
            return false;
    }
   
    function winkDivOKClicked(url)
    {
        // this is to plug in the correct linkId
        url = PluginLinkID(url, 44729);
       
            return GenericNavigateFunction(url);
    }
    function PluginLinkID(url, okBttnLinkId)
    {
        var tmpModifiedUrl = url;
   
        try
        {
            if (url.match(/linkid=\d*/))
                tmpModifiedUrl = url.replace(/linkid=\d*/, 'linkid='+okBttnLinkId);
            else
                tmpModifiedUrl += '&linkid=' + okBttnLinkId;
        }
        catch(excp)
        {
            tmpModifiedUrl = url;
        }
   
        return tmpModifiedUrl;
    }
    function GenericNavigateFunction(url)
    {
        var targetURL = "window.navigate('" + url + "')";
        window.execScript(targetURL, 'jscript');
       
            return false;
    }
   
    function WinkAtMeClicked_Callback(res)
    {
            if (res.value.indexOf('window') == 0)
            {
                    window.execScript(res.value, 'jscript');
                    return false;
            }
            if ((res.value != null) && (res.value.length != 0))
            {
                    var winkSpanCtrl = document.getElementById("winkSpan");
                   
                    if (winkSpanCtrl != null)
                    {
                        winkSpanCtrl.innerHTML = res.value;
                        winkSpanCtrl.style.zIndex = 100;
                        winkSpanCtrl.style.top = currMouseY - 35;
                       
                        /* logic to detect if we are showing a wider wink alert or not if so then adjust left position */
                        try
                        {
                            if (res.value.indexOf("/popmoretext.aspx") > 0)
                                winkSpanCtrl.style.left = 150;
                        }
                        catch(err)
                        {
                            /* do nothing */
                        }
                    }
            }
    }

надо чтоб скрипт сам нажимал автоматически на эту функцию ... тоесть выполнил сенд винк

Exkilla 03-06-2009 18:43 1134140

Добрый вечер! Подскажите пожалуйста, как мне кликнуть на кнопку "Вход" сайта vkontakte.ru скриптом.

Twix1124 03-06-2009 21:09 1134262

Exkilla, _IELinkClickByText($oIE,"Вход")
или можно через SumbitForm, предварительно отловив формум логина и пароля...

Exkilla 03-06-2009 23:47 1134398

Спасибо большое! Получилось так:

#include <IE.au3>
$oIE = _IECreate (" http://vkontakte.ru/")
_IELoadWait ($oIE)
$oForm = _IEFormGetObjByName ($oIE, "login")
$oUser =_IEGetObjByName($oIE,"email")
$oPass =_IEGetObjByName($oIE,"pass")
_IEFormElementSetValue ($oUser, 'Емейл') ;тут вводим свой логин
_IEFormElementSetValue ($oPass, 'Пароль') ; тут вводим свой пароль
_IEFormSubmit ($oForm)
Exit

На ХР при 8 IE нормально работает. А на Vista Ultimate x64 при 7 IE этот скрипт открывает 2 окна с Вконтактом и останавливаеться. Кто-то сталкивался с такой проблемой?


Время: 10:10.

Время: 10:10.
© OSzone.net 2001-