Клик по тому месту, где находится курсор.



  • Ребят, делаю скрипт, который будет двигать мышь по случайно сгенерированным координатам, потом произойдет проверка на элемент и, если элемента нет, то должен произвестись клик.

    Можно ли как-то сделать так, чтобы производился клик по тому месту, где находится курсор?

    Заранее спасибо :)





  • @usertrue Не, я не так выразился, я делаю скрипт. Мой вопрос: можно ли как-то сделать так, чтобы производился клик по тому месту, где находится курсор?



  • @timophei said in Клик по тому месту, где находится курсор.:

    @usertrue Не, я не так выразился, я делаю скрипт. Мой вопрос: можно ли как-то сделать так, чтобы производился клик по тому месту, где находится курсор?

    а что мешает сперва получить текущие координаты курсора, а потом уже совершить клик по ним?

    Например:

    page().script("document.body.scrollLeft")!
    VAR_X = parseInt(_result())
    page().script("document.body.scrollTop")!
    VAR_Y = parseInt(_result())
    mouse(X,Y)!
    


  • @fox Не пойму, что нужно поставить вместо document.body.scrollTop

    Попытался сейчас вместо document.body.scrollTop вставить переменную с кодом страницы ("Получить код элемента"), выдает такую ошибку https://cloud.mail.ru/public/5ASS/3zwwzQBoy



  • @timophei said in Клик по тому месту, где находится курсор.:

    @fox Не пойму, что нужно поставить вместо document.body.scrollTop

    Попытался сейчас вместо document.body.scrollTop вставить переменную с кодом страницы ("Получить код элемента"), выдает такую ошибку https://cloud.mail.ru/public/5ASS/3zwwzQBoy

    Ни чего делать не надо, выполняете этот код в действии "выполнить код" и BAS произведёт клик на том месте, где стоит курсор.



  • @fox Почему-то не работает. Добавляю код в Инструменты->Выполнить код , а клик не проходит.

    Пишет "[17:57:38] Поток №1 : ReferenceError: Can't find variable: X во время выполнения действия



  • @timophei
    page().script("document.body.scrollLeft")!
    VAR_X = parseInt(_result())
    page().script("document.body.scrollTop")!
    VAR_Y = parseInt(_result())
    mouse(VAR_X ,VAR_Y )!



  • @timophei Только этот код будет кликать не по тому месту где курсор стоит а в верхний левый угол. Чтобы знать координаты курсора, то либо запоминать куда вы его подвинули, либо вешать событие перемещения мыши.



  • Хотя все даже проще )) Бас записывает координаты клика в переменную X и Y0_1563377291580_2019-07-17_222745.png

    Кликнет туда где стоит

    Только не понятно, вы же сами генерируете координаты, значит они и так вам известны.



  • @timophei said in Клик по тому месту, где находится курсор.:

    @fox Почему-то не работает. Добавляю код в Инструменты->Выполнить код , а клик не проходит.

    Пишет "[17:57:38] Поток №1 : ReferenceError: Can't find variable: X во время выполнения действия

    Да, чтобы кликнуть BAS'у нужны координаты. Если вы их сами устанавливаете случайным образом, то проще использовать их. Либо вешайте обработчик на страницу и получайте координаты курсора. Действие "явасркипт":

    coordinates = ""; document.body.onmouseover = function(e) {  coordinates = e.pageX + ";" + e.pageY}
    

    и "выполнить код":

    page().script("coordinates")!
    VAR_X = parseInt(_result().split(";")[0])
    VAR_Y = parseInt(_result().split(";")[1])
    log(VAR_X + " " + VAR_Y)
    mouse(VAR_X,VAR_Y)!
    

    Тестовый скрипт



  • @fox Зачем вешать обработчик? Перечитай мои посты )



  • @usertrue said in Клик по тому месту, где находится курсор.:

    @fox Зачем вешать обработчик? Перечитай мои посты )

    Я не видел твоих сообщений когда отвечал. Но суть не меняется, для клика BAS'у нужны координаты. Если координаты курсора для передвижения определяются нестандартной функцией, то проще получать координаты из неё.
    Если использовать действия "Двигать Мышь Над Элементом" и "Двигать Мышь И Кликнуть На Элемент", то да, в них сохраняются последние координаты курсора.

    Но если использовать для перемещения курсора действие "Двигать Мышь" и "Двигать Мышь И Кликнуть" (с указанием координат) то в переменных BAS'а не будет данных о координатах курсора, вот тут и можно создать свой обработчик :D


    Хотя всё это напоминает один большой велосипед..



  • @fox Просто у него написано, что сначала будет перемещаться курсор, тоесть БАС будет помнить координаты



  • @fox Нужно как-то менять код или делать какие-либо другие действия? И потом, чтобы сделать клик по этим координатам, нужно чтобы было так?: 0_1563382418648_345.png



  • @timophei said in Клик по тому месту, где находится курсор.:

    @fox Нужно как-то менять код или делать какие-либо другие действия? И потом, чтобы сделать клик по этим координатам, нужно чтобы было так?:

    Вы сами определяете координаты?



  • @fox Смотря что значит сам. У меня координаты - ресурс, в котором генерируется случайное число (таких 2 ресурса, 1-X и 2-Y соответственно). Поэтому и координаты генерируются сами, я их не ввожу вручную.

    Т.е я так понял, что мне нужно 3 действия:
    1- "Двигать мышь по координатам"
    2-Узнать координаты курсора
    3-Кликнуть по этим координатам

    (Из П.1 я не могу узнать координаты по которым бы кликнул в П.3, так как задаю не вручную, а задает их генератор рандомных чисел.) ((Или, если можно как-то сохранить, а потом использовать координаты из П.1, было бы даже проще, только у меня в скрипте повторения, так что эти координаты постоянно бы менялись))



  • @fox said in Клик по тому месту, где находится курсор.:

    @timophei said in Клик по тому месту, где находится курсор.:

    @fox Почему-то не работает. Добавляю код в Инструменты->Выполнить код , а клик не проходит.

    Пишет "[17:57:38] Поток №1 : ReferenceError: Can't find variable: X во время выполнения действия

    Да, чтобы кликнуть BAS'у нужны координаты. Если вы их сами устанавливаете случайным образом, то проще использовать их. Либо вешайте обработчик на страницу и получайте координаты курсора. Действие "явасркипт":

    coordinates = ""; document.body.onmouseover = function(e) {  coordinates = e.pageX + ";" + e.pageY}
    

    и "выполнить код":

    page().script("coordinates")!
    VAR_X = parseInt(_result().split(";")[0])
    VAR_Y = parseInt(_result().split(";")[1])
    log(VAR_X + " " + VAR_Y)
    mouse(VAR_X,VAR_Y)!
    

    Тестовый скрипт

    Я попробовал сделать все так, как вы написали, но все равно не кликает, а в логе пишет [13:44:52] Поток №1 : NaN NaN



  • @timophei said in Клик по тому месту, где находится курсор.:

    @fox said in Клик по тому месту, где находится курсор.:

    @timophei said in Клик по тому месту, где находится курсор.:

    @fox Почему-то не работает. Добавляю код в Инструменты->Выполнить код , а клик не проходит.

    Пишет "[17:57:38] Поток №1 : ReferenceError: Can't find variable: X во время выполнения действия

    Да, чтобы кликнуть BAS'у нужны координаты. Если вы их сами устанавливаете случайным образом, то проще использовать их. Либо вешайте обработчик на страницу и получайте координаты курсора. Действие "явасркипт":

    coordinates = ""; document.body.onmouseover = function(e) {  coordinates = e.pageX + ";" + e.pageY}
    

    и "выполнить код":

    page().script("coordinates")!
    VAR_X = parseInt(_result().split(";")[0])
    VAR_Y = parseInt(_result().split(";")[1])
    log(VAR_X + " " + VAR_Y)
    mouse(VAR_X,VAR_Y)!
    

    Тестовый скрипт

    Я попробовал сделать все так, как вы написали, но все равно не кликает, а в логе пишет [13:44:52] Поток №1 : NaN NaN

    Я же приложил тестовый скрипт.

    Скорее всего вы переходите на другую страницу и обработчик сбрасывается. Устанавливать обработчик нужно на каждой странице.

    Только смысл всего этого? Если вы сами устанавливаете координаты передвижения курсора?


    (Из П.1 я не могу узнать координаты по которым бы кликнул в П.3, так как задаю не вручную, а задает их генератор рандомных чисел.)

    Это ролф?

    0_1563448041138_99375055-8eba-40f7-b7da-2d11402fbd57-изображение.png

    0_1563448094278_1c2a4cf0-85c8-4d4a-aa47-f3104271e82e-изображение.png

    Тестовый скрипт



  • Выше какие-то танцы с бубном.

    ТС сказал у него есть координаты. Т.е тебя есть рандомный генератор чисел куда ты двинешь мышь (допустим 10x50). Это число у тебя будет в переменной. Затем вызови действие кликнуть из этой переменной.
    Итого:
    1)Вызываешь действие двигать мышь по координатам из переменной
    2)Тоже самое кликнуть из той же переменной.


Log in to reply
 

  • 2
  • 2
  • 11
  • 6
  • 5
  • 4
  • 5
  • 3