Эмуляция клика мыши по координатам. Почему так?

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
Хай.
Настроил все клики по нужным кускам страницы, так как надо, задал конкретные размеры инстансу. Сделал несколько тестовых прогонов в ПМ, все ок.
Залил шаб на сервак и привет.
Шаб не корректно работает как в ПМ так и в ЗП на серве, проверяю на локалке все збс. КАК ТАК?

Инстанс стоит с четкими границами, задаю через с#.
Взял размер из ПМ по body, и установил размером инстанса, от туда и плясал, на серваке клики происходят на + 20-25 пикселей правее
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Лучше получать координаты из элементов страницы относительно неё же (в кубиках должно быть) и уже по ним наводиться.
И на всякий, можно в лог сбрасывать.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
Да понимаю что лучше, но это гребанный гугл, там где у каждого элемента, при каждом обновлении идет генерация нового класса, дива и тп...

Но вопрос больше, почему координаты отличаются...
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
какой сервис гугла? Еще не сталкивался чтобы там надо было координаты прикручивать. Обычно xPath спасает.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
можно в регулярках указать вариации этих изменяемых параметров
да раньше так и делал, но это дикий гемор...
xpath почему-то не всегда находится, соответственно выдает ошибку, бывает просто не находит... я не понимаю почему так происходит
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
Вот как пример.

во xpath кнопки карзина
Код:
//*[@id="drive_main_page"]/div[2]/div[1]/div[1]/div/div/div[3]/div[2]/div/div[3]/div/div[1]/div/div/div[1]
делаю клик через C#
Код:
string xpath_exp = "//*[@id='drive_main_page']/div[2]/div[1]/div[1]/div/div/div[3]/div[2]/div/div[3]/div/div[1]/div/div/div[1]";
string action_ev = "rise|click";
return CommonCode.FindElementAndExecuteAction(instance, xpath_exp, action_ev);
ошибка - элем. не найден.
другой xpath работает, по другой кнопке... я хз что делать.
путь я нахожу через хром
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
как сделать короче?
http://recordit.co/cXF4ThT3R4

думаю никак, потому как если короче будет, это будет уже другой элемент
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Что-то примерно! такое:
Код:
//div[@role='button' and @tabindex='0']/div[@aria-hidden="true"]/..
Для надёжности, можно за соседей зацепиться, вариантов хватает.
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
//div[@role='button' and @tabindex='0']/div[@aria-hidden="true"]/..
работает.
распиши плиз как ты составил? плагин какой-то, или каким-то браузерным способом?

и почему не работает мой способ (копирование пути из хрома)?

А запросы не снифал? Или там жуть?
даже не пытался, там просто ад
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
А запросы не снифал? Или там жуть?
У гугла почему-то нет WebDav'а, но есть API, которым пользуюся другие либы и приложения.
Вот эти API или либы можно было бы использовать, в заместо изврата со страницей.
распиши плиз как ты состави? плагин какой-то, или каким-то браузерным способом?
Руками...
Есть инструкция, это проще чем RegExp: https://docs.google.com/a/jazzteam.org/document/d/1PdfKMDfoqFIlF4tN1jKrOf1iZ1rqESy2xVMIj3uuV3g/pub
 
  • Спасибо
Реакции: Lanidor и yriy158

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113


напиши плиз путь чтоб еще и на кнопку очистки нажималось



буду изучать пути :(
Так если интерфейс на одном языке у все акков то можно штатными кубиками зенки по свойству Inntertext\Innerhtml найти эти елементы и прокликать. Просто не через запись делай шаб, а через "Конструктор действий"

UPD:
все же работает с добавлением хитростей в обычные кубики:
 
Последнее редактирование:

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
xpath на много надежнее ... лучше его
так насколько я вижу ты вообще новичок в xpath (без обид), раз строишь синтаксис на обычных вложениях. Так что пока не подтянешь практику (а она подтягивается, сам об xpath только после работы с зенкой узнал), то лучше делай как на скрине из моего предыдущего поста. При смене верстки\названия кнопок при редизайне сервиса (раз в пару лет\месяцев случается) у тебя перестанет работать любое решение.
 
  • Спасибо
Реакции: Nord

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
так насколько я вижу ты вообще новичок в xpath (без обид)
да какие обиды, я просто думаю что есть специальные расширения дл браузера, типа firebug как для FF, только для хрома, где тупо нажал копировать, тебе сразу готов пас дает... Пока не нашел рабочего нормально )
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)