Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Клик по элементу на странице в рамках координат (https://javascript.ru/forum/dom-window/50657-klik-po-ehlementu-na-stranice-v-ramkakh-koordinat.html)

danik.js 06.10.2014 16:41

Цитата:

Сообщение от ipatrool
И кстати, где можно почитать о том, как подцепить по css ? Мне так, для саморазвития

CSS селекторы. Например body > div input[type=button]:nth-of-type(5)

Можно еще xpath использовать для этой цели. Хотя по-моему бессмысленно.

ipatrool 06.10.2014 16:53

Понял, за селекторы спасибо. Думаю тут все-равно их не удастся применить.
Подскажите по моему скрипту выше пожалуйста, мне кажется, такой метод наиболее подходит )

ipatrool 07.10.2014 16:01

Как можно переделать скрипт так, что бы он делал следующее:
Если картинка есть - нажал в одну точку, если картинки нет - в другую. И можно ли сделать подобное без перегрузки iframe?
function click() {
var image = $('<img src="/tmp/pic/3.gif"/>');
  if (image.attr('width') > 0)
  $(document.elementFromPoint(x, y)).click();
else
  $(document.elementFromPoint(x, y1)).click();
}

ipatrool 08.10.2014 12:52

Либо же другой вариант - заметил, что порой кнопки отличаются на 1-2 px по высоте и ширине, т.е. нужная мне кнопка самая большая. Может можно как-то за это ухватиться?

danik.js 08.10.2014 12:56

Обходи все кнопки, потом кликай на самую большую.

krasovsky 09.10.2014 07:46

установи нужной кнопке какой нибудь атрибут.
Да и вообще почему бы просто не установить нужной кнопке id?

ipatrool 10.10.2014 17:24

Цитата:

Сообщение от danik.js (Сообщение 334040)
Обходи все кнопки, потом кликай на самую большую.

А как такое можно накодить? Там всего кнопок штуки 3-4

danik.js 10.10.2014 17:40

Получаешь кнопки:
var buttons = document.querySelectorAll('button'); // или твой селектор

Ну и через цикл for(..) перебираешь, проверяя высоту или ширину. запоминай в переменную самую высокую кнопку (сравнивая текущую перебираемую с той, что в переменной (или если это первая - то записываешь ее в переменную). После цикла кликай по ней.

Высота - button.offsetHeight, ширина - offsetWidth


Часовой пояс GMT +3, время: 16:48.