Author Topic: Работа с ссылками  (Read 12373 times)

0 Members and 2 Guests are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Работа с ссылками
« Reply #15 on: October 19, 2020, 04:26:39 PM »
Я вообще не понимаю что там происходит. Что ты откуда читаешь. У тебя каждый раз разный скрипт.
То ты 16 раз читаешь строки из servera_, то два раза по три строки из servera_, то совсем этот кусок выкинул.
Мне непонятно что это и что тебе нужно.


Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Работа с ссылками
« Reply #16 on: October 19, 2020, 04:37:49 PM »
считываю логин и пароль с файла LogPass первую строку, выполняется вход, и тут нужно считать servera_1, выход, второй логин и пароль, и уже на втором логине servera_2. и так далее, пока не закончатся логины и пароли и сервера. разные файлы servera_, в одном файле servera_1 3 ссылок, в другом servera_2 ссылки, в третьем 2 ссылки, в четвертом 10.
« Last Edit: October 19, 2020, 04:40:25 PM by Viktor77 »

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Работа с ссылками
« Reply #17 on: October 19, 2020, 04:43:48 PM »
Я вообще не понимаю что там происходит. Что ты откуда читаешь. У тебя каждый раз разный скрипт.
То ты 16 раз читаешь строки из servera_, то два раза по три строки из servera_, то совсем этот кусок выкинул.
Мне непонятно что это и что тебе нужно.
вот так работает все как надо, хоть как вы подметили, с одной и той же переменной $a
Code: (clickermann) [Select]
SUB(paste) //========== Вставить ===============================================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------
 
LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
 
LOGWRITE("Всего аккаунтов: ", $count)
 
IF($a=0,$a<1 )
   клик(1271,1002,2000)
   DBLCLICK(635,30) //запуск браузера
   WAIT(15)
END_IF
FOR($a=0,$a<4)
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
 
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
 
   FOR($a=0,$a<16)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_1.txt") > $num)
         INC($num,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_1.txt", $num)) // копируем строку в буфер
      WAITMS(100)
      paste()
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
 
 
   END_CYC
 
 
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
 
 
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
 
   FOR($a=0,$a<21)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_2.txt") > $num1)
         INC($num1,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_2.txt", $num1)) // копируем строку в буфер
      WAITMS(100)
      paste()
 
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
 
 
   END_CYC
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
 
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
 
 
   FOR($a=0,$a<13)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_3.txt") > $num2)
         INC($num2,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_3.txt", $num2)) // копируем строку в буфер
      WAITMS(100)
      paste()
 
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
 
 
   END_CYC
 
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
 
   IF(TFCOUNT("LogPass.txt") > $count)
      INC($count,1)
   ELSE
      HALT // Стоп по достижении конца файла
   END_IF
   $str = TFREAD ("LogPass.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
 
   FOR($a=0,$a<13)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      IF(TFCOUNT ("servera_4.txt") > $num3)
         INC($num3,1) // накручиваем номер строки каждый проход
      END_IF
      TOCLIP (TFREAD ("servera_4.txt", $num3)) // копируем строку в буфер
      WAITMS(100)
      paste()
 
      KEYPRESS(#ENTER) // Enter
      WAIT (5)
      // тут команды после
 
 
   END_CYC
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT (20)
END_CYC

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Работа с ссылками
« Reply #18 on: October 19, 2020, 05:00:46 PM »
Нет. Не работает оно нормально. Цикл
FOR($a=0,$a<4) не работает совсем. Он выполняется 1 раз.
А внутри 4 раза руками прописано повторение.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Работа с ссылками
« Reply #19 on: October 19, 2020, 05:45:36 PM »
Code: (clickermann) [Select]
SUB(paste) //========== Вставить ===============================================
    KEYDOWN(#CTRL) // Ctrl+V
    WAITMS(50)
    KEYPRESS(#V)
    WAITMS(50)
    KEYUP(#CTRL)
    WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(15)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $akk <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)

    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))

    LCLICK(505,345) // клик по полю логина
    WAITMS (1000)
    TOCLIP($log) // скопировать логин в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#TAB) // переход на поле пароля
    WAITMS (1000)

    //LCLICK(505,395) // клик по полю пароля
    WAITMS (1000)
    TOCLIP($pass) // скопировать в пароль в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#ENTER) // Enter
    WAITMS (100)
    //LCLICK(640,470) // клик по "Вход"
    WAIT(5)
    // тут команды после входа

    $servera = STRCONCAT("servera_", $akk)
    $serv_len = TFCOUNT($servera)
    FOR($serv=1, $serv <= $serv_len)
        LCLICK(370,55) //клик по панель поиска
        WAIT(2)
        TOCLIP(TFREAD($servera, $serv))
        WAITMS(100)
        paste()
        KEYPRESS(#ENTER)
        WAIT (5)
        // тут команды после
    END_CYC

    //выход
    LCLICK(1175,101)  // 2467327
    WAIT(20)
END_CYC

HALT
« Last Edit: October 23, 2020, 08:18:03 AM by Vint »


Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Работа с ссылками
« Reply #20 on: October 19, 2020, 06:19:40 PM »
Code: (clickermann) [Select]
SUB(paste) //========== Вставить ===============================================
    KEYDOWN(#CTRL) // Ctrl+V
    WAITMS(50)
    KEYPRESS(#V)
    WAITMS(50)
    KEYUP(#CTRL)
    WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(15)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)

    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))

    LCLICK(505,345) // клик по полю логина
    WAITMS (1000)
    TOCLIP($log) // скопировать логин в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#TAB) // переход на поле пароля
    WAITMS (1000)

    //LCLICK(505,395) // клик по полю пароля
    WAITMS (1000)
    TOCLIP($pass) // скопировать в пароль в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#ENTER) // Enter
    WAITMS (100)
    //LCLICK(640,470) // клик по "Вход"
    WAIT(5)
    // тут команды после входа

    $servera = STRCONCAT("servera_", $akk)
    $serv_len = TFCOUNT($servera)
    FOR($serv=1, $serv <= $serv_len)
        LCLICK(370,55) //клик по панель поиска
        WAIT(2)
        TOCLIP(TFREAD($servera, $serv))
        WAITMS(100)
        paste()
        KEYPRESS(#ENTER)
        WAIT (5)
        // тут команды после
    END_CYC

    //выход
    LCLICK(1175,101)  // 2467327
    WAIT(20)
END_CYC

HALT
Спасибо. А можно ли это условие положить в подпрограмму или массив? т.к это действие повторяется после загрузки с ссылки, с файла "servera_", и как можно "wait" заменить на таймеры?
Code: (clickermann) [Select]
картинка(0,0,$_xmax,$_ymax,"1.bmp",2,2,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
   клик($_return1, $_return2,2000)
END_IF
WAIT(30)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
   клик($_return1+15,$_return2+15,2000)
ELSE
   $check = 0
   WHILE($check = 0)
      KEYPRESS(#F5)  // обновить страницу
      WAIT(30)
      картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
   END_CYC
END_IF
WAIT(3)
картинка(0,0,$_xmax,$_ymax,"3.bmp",2,2,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
   клик($_return1, $_return2,2000)
END_IF
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"7.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"8.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"4.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"32.bmp",10,8,2000)
картинка(0,0,$_xmax,$_ymax,"5.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"33.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,5000)//
картинка(0,0,$_xmax,$_ymax,"16.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)//
клик(527,190,2000) //
клик(518,370,2000)//
клик(564,585,2000)//
клик(654,188,2000) //
клик(571,310,2000) //
картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,2000) //
картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000) //
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax, "22.bmp",15,15,2000)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "23.bmp", - 1, 100)//
   клик($_return1+2, $_return2+2,2000)
   клик(567,493,2000)  //
END_IF
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "24.bmp", - 1, 100)//
   клик($_return1+5, $_return2+5,2000)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "25.bmp", - 1, 100)//
      клик($_return1+5, $_return2+5,2000)
      картинка(0,0,$_xmax,$_ymax, "26.bmp",5,5,2000)//
   END_IF
END_IF
WAIT(1)
KEYPRESS(#B)
WAIT(3)
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "27.bmp", - 1, 100)
   DBLCLICK($_return1+15, $_return2+15)
   WAIT(1)
   картинка(0,0,$_xmax,$_ymax, "34.bmp",5,5,2000)
END_IF
GETSCREEN(0,0,$_xmax,$_ymax)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "28.bmp", - 1, 100)
   MOVE($_return1+15, $_return2+15)
   WAIT(1)
   IF(FExists(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y)) = 0)//если папки с датой нету
      FCreate(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
   END_IF
   SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y,"\file", $n,".bmp"))
   inc($n)
END_IF
WAIT(1)
KEYPRESS(#B)
WAIT(1)
картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)//
картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Работа с ссылками
« Reply #21 on: October 19, 2020, 06:32:11 PM »
Какое 'это' условие? В приведённом куске, куча кода.
Всё можно поместить в подпрограмму, любой кусок который нравится.


Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Работа с ссылками
« Reply #22 on: October 19, 2020, 07:38:16 PM »
Какое 'это' условие? В приведённом куске, куча кода.
Всё можно поместить в подпрограмму, любой кусок который нравится.
подскажите как это сделать, чтоб все поместить в подпрограммы.

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Работа с ссылками
« Reply #23 on: October 19, 2020, 08:02:22 PM »
Какое 'это' условие? В приведённом куске, куча кода.
Всё можно поместить в подпрограмму, любой кусок который нравится.
верно написано?
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
клик(527,190,2000) //
клик(518,370,2000)//
клик(564,585,2000)//
клик(654,188,2000) //
клик(571,310,2000) //
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(mysub_1)
клик(527,190,2000)
клик(518,370,2000)
клик(564,585,2000)
клик(654,188,2000)
клик(571,310,2000)
END_SUB
// вызов подпрограммы
mysub_1()

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Работа с ссылками
« Reply #24 on: October 20, 2020, 12:49:23 AM »
Code: (clickermann) [Select]
SUB(paste) //========== Вставить ===============================================
    KEYDOWN(#CTRL) // Ctrl+V
    WAITMS(50)
    KEYPRESS(#V)
    WAITMS(50)
    KEYUP(#CTRL)
    WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(15)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)

    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))

    LCLICK(505,345) // клик по полю логина
    WAITMS (1000)
    TOCLIP($log) // скопировать логин в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#TAB) // переход на поле пароля
    WAITMS (1000)

    //LCLICK(505,395) // клик по полю пароля
    WAITMS (1000)
    TOCLIP($pass) // скопировать в пароль в буфер
    WAITMS (100)
    paste()

    KEYPRESS(#ENTER) // Enter
    WAITMS (100)
    //LCLICK(640,470) // клик по "Вход"
    WAIT(5)
    // тут команды после входа

    $servera = STRCONCAT("servera_", $akk)
    $serv_len = TFCOUNT($servera)
    FOR($serv=1, $serv <= $serv_len)
        LCLICK(370,55) //клик по панель поиска
        WAIT(2)
        TOCLIP(TFREAD($servera, $serv))
        WAITMS(100)
        paste()
        KEYPRESS(#ENTER)
        WAIT (5)
        // тут команды после
    END_CYC

    //выход
    LCLICK(1175,101)  // 2467327
    WAIT(20)
END_CYC

HALT
работает но не совсем, заходит на 1 аккаунт с файла "LogPass.txt" и выходит, и так по всем аккаунтам которые находятся в текстовом файле "LogPass.txt". но сервера не грузит с файла "servera_1.txt" и других файлов: "servera_2.txt", "servera_3.txt", "servera_4.txt"... во всех файлах "servera_1.txt" и далее "servera_2.txt", "servera_3.txt", "servera_4.txt"...:  собраны ссылки, в каждом файле разные ссылки и разное количество.
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  11.bmp
         клик(309,610,2000) // сменить главу
      END_IF
   END_CYC
END_SUB

SUB(paste) //========== Вставить ===============================================
    KEYDOWN(#CTRL) // Ctrl+V
    WAITMS(50)
    KEYPRESS(#V)
    WAITMS(50)
    KEYUP(#CTRL)
    WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------
 
LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)
 
клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(15)
 
$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)
 
FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)
 
    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
    LCLICK(505,345) // клик по полю логина
    WAITMS (1000)
    TOCLIP($log) // скопировать логин в буфер
    WAITMS (100)
    paste()
 
    KEYPRESS(#TAB) // переход на поле пароля
    WAITMS (1000)
 
    //LCLICK(505,395) // клик по полю пароля
    WAITMS (1000)
    TOCLIP($pass) // скопировать в пароль в буфер
    WAITMS (100)
    paste()
 
    KEYPRESS(#ENTER) // Enter
    WAITMS (100)
    //LCLICK(640,470) // клик по "Вход"
    WAIT(5)
    // тут команды после входа
 
    $servera = STRCONCAT("servera_", $akk)
    $serv_len = TFCOUNT($servera)
    FOR($serv=1, $serv <= $serv_len)
        LCLICK(370,55) //клик по панель поиска
        WAIT(2)
        TOCLIP(TFREAD($servera, $serv))
        WAITMS(100)
        paste()
        KEYPRESS(#ENTER)
        WAIT (5)
        // тут команды после
    END_CYC
 
    //выход
    LCLICK(1175,101)  // 2467327
    WAIT(20)
END_CYC
 
HALT
« Last Edit: October 20, 2020, 03:13:14 AM by Viktor77 »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Работа с ссылками
« Reply #25 on: October 20, 2020, 08:11:36 AM »
Опечатался я
Code: (clickermann) [Select]
FOR($akk=1, $a <= $akk_total)
Конечно же
Code: (clickermann) [Select]
FOR($akk=1, $akk <= $akk_total)ну ты хоть посмотри в код. Это по поводу ошибки.

А по поводу
Quote
но сервера не грузит с файла "servera_1.txt"
я не в курсе. Я только переписал твои действия. Что там у тебя не грузит проверь, расставь логи.
Выведи правильно ли формирует имена файлов print("servera", $servera)
Выведи, что читает из файла на каждом проходе print("ссылка", TFREAD($servera, $serv))

Quote
собраны ссылки, в каждом файле разные ссылки и разное количество.
это и так всё понятно уже.


Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Работа с ссылками
« Reply #26 on: October 20, 2020, 10:30:46 PM »
Опечатался я
Code: (clickermann) [Select]
FOR($akk=1, $a <= $akk_total)
Конечно же
Code: (clickermann) [Select]
FOR($akk=1, $akk <= $akk_total)ну ты хоть посмотри в код. Это по поводу ошибки.

А по поводу
Quote
но сервера не грузит с файла "servera_1.txt"
я не в курсе. Я только переписал твои действия. Что там у тебя не грузит проверь, расставь логи.
Выведи правильно ли формирует имена файлов print("servera", $servera)
Выведи, что читает из файла на каждом проходе print("ссылка", TFREAD($servera, $serv))

Quote
собраны ссылки, в каждом файле разные ссылки и разное количество.
это и так всё понятно уже.
вот так все работает,
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  11.bmp
         клик(309,610,2000) // сменить главу
      END_IF
   END_CYC
END_SUB

SUB(paste) //========== Вставить ===============================================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
   
   $str = TFREAD ("LogPass.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
   
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   $servera = STRCONCAT("servera_", $akk,".txt")
   $serv_len = TFCOUNT($servera)
   FOR($serv=1, $serv <= $serv_len)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      TOCLIP(TFREAD($servera,$serv))
      WAITMS(100)
      print("файл ", $servera)
      print("ссылка ", TFREAD($servera, $serv))
      paste()
      WAITMS(50)
     
     
      KEYPRESS(#ENTER)
      WAIT (5)
      // тут команды после
   END_CYC
   
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT(10)
END_CYC

HALT

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Работа с ссылками
« Reply #27 on: October 20, 2020, 10:32:53 PM »
Какое 'это' условие? В приведённом куске, куча кода.
Всё можно поместить в подпрограмму, любой кусок который нравится.
поместил все в подпрограммы, но в правильности сомневаюсь(
Code: (clickermann) [Select]
//=============================================
SUB(mysub_1)
   картинка(0,0,$_xmax,$_ymax,"1.bmp",2,2,2000)
END_SUB
//=============================================
SUB(mysub_2)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
      клик($_return1, $_return2,2000)
   END_IF
   WAIT(30)
END_SUB
//=============================================
SUB(mysub_3)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
      клик($_return1+15,$_return2+15,2000)
   ELSE
      $check = 0
      WHILE($check = 0)
         KEYPRESS(#F5)  // обновить страницу
         WAIT(30)
         картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
      END_CYC
   END_IF
   WAIT(3)
END_SUB
//=============================================
SUB(mysub_4)
   картинка(0,0,$_xmax,$_ymax,"3.bmp",2,2,2000)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
      клик($_return1, $_return2,2000)
   END_IF
END_SUB
//=============================================
SUB(mysub_5)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"7.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"8.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"4.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"32.bmp",10,8,2000)
   картинка(0,0,$_xmax,$_ymax,"5.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"33.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,5000)
   картинка(0,0,$_xmax,$_ymax,"16.bmp",2,2,3000)
   картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)
END_SUB
//=============================================
SUB(mysub_6)
   клик(527,190,2000)
   клик(518,370,2000)
   клик(564,585,2000)
   клик(654,188,2000)
   клик(571,310,2000)
END_SUB
//=============================================
SUB(mysub_7)
   картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax, "22.bmp",15,15,2000)
END_SUB
//=============================================
SUB(mysub_8)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "23.bmp", - 1, 100)
      клик($_return1+2, $_return2+2,2000)
      клик(567,493,2000)
   END_IF
END_SUB
//=============================================
SUB(mysub_9)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "24.bmp", - 1, 100)
      клик($_return1+5, $_return2+5,2000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "25.bmp", - 1, 100)
         клик($_return1+5, $_return2+5,2000)
         картинка(0,0,$_xmax,$_ymax, "26.bmp",5,5,2000)
      END_IF
   END_IF
   WAIT(1)
   KEYPRESS(#B)
   WAIT(3)
END_SUB
//=============================================
SUB(mysub_10)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "27.bmp", - 1, 100)
      DBLCLICK($_return1+15, $_return2+15)
      WAIT(1)
      картинка(0,0,$_xmax,$_ymax, "34.bmp",5,5,2000)
   END_IF
END_SUB
//=============================================
SUB(mysub_11)
   GETSCREEN(0,0,$_xmax,$_ymax)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "28.bmp", - 1, 100)
      MOVE($_return1+15, $_return2+15)
      WAIT(1)
      IF(FExists(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y)) = 0)//если папки с датой нету
         FCreate(STRCONCAT("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
      END_IF
      SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_d,"-",$_date_m,"-",$_date_y,"\file", $n,".bmp"))
      inc($n)
   END_IF
   WAIT(1)
   KEYPRESS(#B)
   WAIT(1)
END_SUB
//=============================================
SUB(mysub_12)
   картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)
   картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)
   картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)
   картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
END_SUB


LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
mysub_1()
mysub_2()
mysub_3()
mysub_4()
mysub_5()
mysub_6()
mysub_7()
mysub_8()
mysub_9()
mysub_10()
mysub_11()
mysub_12()
HALT

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Работа с ссылками
« Reply #28 on: October 22, 2020, 05:22:59 PM »
Опечатался я
Code: (clickermann) [Select]
FOR($akk=1, $a <= $akk_total)
Конечно же
Code: (clickermann) [Select]
FOR($akk=1, $akk <= $akk_total)ну ты хоть посмотри в код. Это по поводу ошибки.

А по поводу
Quote
но сервера не грузит с файла "servera_1.txt"
я не в курсе. Я только переписал твои действия. Что там у тебя не грузит проверь, расставь логи.
Выведи правильно ли формирует имена файлов print("servera", $servera)
Выведи, что читает из файла на каждом проходе print("ссылка", TFREAD($servera, $serv))

Quote
собраны ссылки, в каждом файле разные ссылки и разное количество.
это и так всё понятно уже.
есть 8 логинов, но на 5ом логине меняется координата ввода логина и пароля, так как другой сайт. как можно сделать?
Code: (clickermann) [Select]
SUB(paste) //========== Вставить ===============================================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//------------------------------------------------------------------------------

LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)
//сайт 1 vk.com
//сайт 2 ok.ru

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)
 
FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)
 
    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
    LCLICK(505,345) // клик по полю логина, меняется координата на 100,100
    WAITMS (1000)
    TOCLIP($log) // скопировать логин в буфер
    WAITMS (100)
    paste()
 
    KEYPRESS(#TAB) // переход на поле пароля
    WAITMS (1000)
 
    //LCLICK(505,395) // клик по полю пароля
    WAITMS (1000)
    TOCLIP($pass) // скопировать в пароль в буфер
    WAITMS (100)
    paste()
 
    KEYPRESS(#ENTER) // Enter
    WAITMS (100)
END_CYC
« Last Edit: October 22, 2020, 05:40:01 PM by Viktor77 »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Работа с ссылками
« Reply #29 on: October 23, 2020, 08:16:58 AM »
Code: (clickermann) [Select]
FOR($akk=1, $a <= $akk_total)
    LOGWRITE("Текущий аккаунт: ", $akk)
   
    $str = TFREAD ("LogPass.txt", $akk)
    $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
    $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
    IF($akk < 5)
        LCLICK(505, 345)
    ELSE
        LCLICK(100, 100)
    END_IF
    ...