Как кликнуть по выбору выпадающей подрубрики

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
Подскажите, пожалуйста, каким образом можно выбрать подрубрику на доске объявлений:
http://olx.ua/post-new-ad/

Например, интересует рубрика "Электроника" и в ней выбрать "Климатическое оборудование".
Рубрика - вторая строка сверху по приведенному выше URL.

Пробовал get-запросом динамически получать leftintab и topintab, но они какие-то неправильные получаются. Клик по картинке срабатывал раза 4, но потом сбился.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 117
Баллы
113
Подскажите, пожалуйста, каким образом можно выбрать подрубрику на доске объявлений:
http://olx.ua/post-new-ad/

Например, интересует рубрика "Электроника" и в ней выбрать "Климатическое оборудование".
Рубрика - вторая строка сверху по приведенному выше URL.

Пробовал get-запросом динамически получать leftintab и topintab, но они какие-то неправильные получаются. Клик по картинке срабатывал раза 4, но потом сбился.
вот набросал через конструктор действий, выбирает номано:
(если будет сбоить, то можно небольшие паузы поставить между экшенами)
 

Вложения

  • Спасибо
Реакции: Danny

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
А у меня такая же проблема на ВК.
Когда заходишь в собственную группу (где ты админ), там кликаешь «Пригласить в группу», попадаешь в список друзей.
И вот справа выбор страны и города — я не врубаюсь, как кликнуть и выбрать нужную страну и город. Элементы все либо без уникального идентификатора, либо не реагируют на клик. Помогите, пожалуйста!
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 117
Баллы
113
А у меня такая же проблема на ВК.
Когда заходишь в собственную группу (где ты админ), там кликаешь «Пригласить в группу», попадаешь в список друзей.
И вот справа выбор страны и города — я не врубаюсь, как кликнуть и выбрать нужную страну и город. Элементы все либо без уникального идентификатора, либо не реагируют на клик. Помогите, пожалуйста!
ВК да, он бывает такой подлый, что на прямой клик не записывается экшен, я в таких ситуациях через прав. кн. мыши вызываю конструктор действий и начинаю шаманить - выбирать атрибуты по которым кликать.. но чуйствую, что вы уже так пробовали делать..
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
Конечно! Я уже кучу вариантов перебрал! Они, похоже, постарались...
Наверное, помогло бы знание, как конструировать правила с целой группой условий, но я не до конца понимаю, как оно по нескольким критериям работает.
 

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
Спасибо большое!

Да, действительно, наверное из-за пауз такое.
Вчера аналогичный способ пробовал, но срабатывал не всегда.

А вот сейчас смотрю, что с паузами все ок.
А я уже начал вглубь копать с получением координат с гет-запросом и т.п. )))
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Конечно! Я уже кучу вариантов перебрал! Они, похоже, постарались...
Наверное, помогло бы знание, как конструировать правила с целой группой условий, но я не до конца понимаю, как оно по нескольким критериям работает.
Атрибуты нужно перечислять в рамках группы с одинаковым номером

http://i.gyazo.com/8b0ef7ed77c82c53b8145b9ecf4bb026.png
 
  • Спасибо
Реакции: Danny

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
Спасибо!

Буду еще пробовать, т.к. вот тот вариант, который предложили в проекте, прикрепленном выше - сегодня уже не работает...
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 117
Баллы
113
Спасибо!

Буду еще пробовать, т.к. вот тот вариант, который предложили в проекте, прикрепленном выше - сегодня уже не работает...
у меня тоже.. заменил в последнем экшене Климатическое оборудование  на Климатическое оборудование - заработало..
может именно сегодня они верстку изменили?
 
  • Спасибо
Реакции: Danny

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
Та вот вроде до этого у меня аналогичные экшены были и тоже через 1 день перестали работать... ))
Посмотрю, как завтра будут себя вести - сегодня изменил )
А то может какие-то значения у них меняются и поэтому экшен перестает работать...
 

black_pariah

Client
Регистрация
08.09.2014
Сообщения
294
Благодарностей
91
Баллы
28
Та вот вроде до этого у меня аналогичные экшены были и тоже через 1 день перестали работать... ))
Посмотрю, как завтра будут себя вести - сегодня изменил )
А то может какие-то значения у них меняются и поэтому экшен перестает работать...
так и есть
 
  • Спасибо
Реакции: Danny

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
А что в таких случаях нужно делать? )

Т.к. уже с подобной ситуацией сталкивался еще на паре сайтов...
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Подбирать атрибуты точнее или использовать несколько групп атрибутов для поиска в одном экшене
 
  • Спасибо
Реакции: Danny

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
Подскажите, пожалуйста, насчет выбора атрибутов и нескольких групп.
Вот я выбрал 4 группы. У всех одинаковый номер, но экшен не работает.

В чем ошибка получается?
 

Вложения

black_pariah

Client
Регистрация
08.09.2014
Сообщения
294
Благодарностей
91
Баллы
28
Подскажите, пожалуйста, насчет выбора атрибутов и нескольких групп.
Вот я выбрал 4 группы. У всех одинаковый номер, но экшен не работает.

В чем ошибка получается?
вот пример ,только в номере совпадения вместо 2 напишите End
 

Вложения

  • Спасибо
Реакции: Malchishka и Danny

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
Спасибо большое!

Посмотрел шаблон. Вроде в целом все понятно. Только вот что будет означать End вместо 2? Просто хотелось бы понять саму суть, если возможно ))
Там вроде получается одно совпадение по OuterHtml...
 

black_pariah

Client
Регистрация
08.09.2014
Сообщения
294
Благодарностей
91
Баллы
28
у меня три совпадения ,посмотрите я заменил содержимое оутер штмл на регулярочку ,End означает последнее совпадение
 
  • Спасибо
Реакции: Danny

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
А Вы эти совпадения ищете в дереве элементов или в Дом-страницы или в конструкторе действий?
Я регулярку видел, но совпадений найти не могу и чувствую что по этой же причине в некоторых проектах бывают загвоздки.
 

black_pariah

Client
Регистрация
08.09.2014
Сообщения
294
Благодарностей
91
Баллы
28
QIP Shot - Screen 036.png
 
  • Спасибо
Реакции: Danny

sof

Client
Регистрация
15.04.2013
Сообщения
831
Благодарностей
185
Баллы
43
Зачем усложнять работу самого шаблона я не пойму? Можно же проще все реализовать указать прямые урлы на директорию подачи объявления в нужную рубрику. Если нужно в несколько категорий постить то сделать выбор категорий через свич хоть во все категории и связать с входными настройками шаблона.
Или вы решили разобрать OLX так сказать на гаечки и болтики :de:?
 
  • Спасибо
Реакции: Danny

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
Так будет выглядеть менее роботизированно ))

Тем более там еще 2 поля есть с меняющимися номерами совпадений. Так что с ними тоже запара возникла ))
rostonix писал, что нужно выбирать несколько атрибутов с номером одной группы. Но вот получается что при выборе уже 3-4 атрибутов - перестает работать экшен.
Не могу понять логику их составления...
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
тег <а>
 
  • Спасибо
Реакции: Danny

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
Спасибо, буду разбираться на примере оставшихся 2-х блоков с меняющимися номерами совпадений.
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
да кликай уже
 

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
)) с тем блоком я уже разобрался
black_pariah выше в данном трэде написал решение. Ну и последнее предложенное тоже подходит естественно )

А есть еще 2 блока - вот там и буду пробовать. Там уже другие атрибуты и т.п.
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
искать лучше всего по атрибуту data-category. В нем хранится ид категории и я на 99% уверен что этот атрибут очень редко меняется. Для главных категорий (тех что с картинкой у вас на скрине) есть еще атрибут data-category-name - где записано название этой категории, но этого атрибута нет в дочерних категориях
 
  • Спасибо
Реакции: Danny

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Могу так же помочь советом с выпадающими списками. На самом деле там невешена всякая хрень с кучей свистоперделок библиотека для красивых выпадающих списков (select). Но сами выпадающие списки никуда не деваются. Библиотека их просто скрывает, а сама добавляет красивые списки с li и ссылками. При клике на такую ссылку срабатывает яваскрипт, который устанавливает соответственное значение в скрытом списке select. но т.к. Зенно это вам не это, а вполне себе приличная прога ;-) то мы сами с ее помощью можем сделать то, что делает эта библиотека для красивых списков. Т.е. мы можем сами установить выбранное значение сразу в скрытый select
Т.е. нежно в каком то теге <option>, который принадлежит списку select поставить атрибут selected="selected" - http://joxi.ru/YmEpVbJsBb3Br6

Мне извесно 2 способа как это сделать:
1) Установить атрибут selected="selected" для конкретного option, зная его value. Т.е. ищем элемент option, в которого значение будет, например 22 (как на скрине) и делаем set аттрибута через зенно. Недостатки - на странице может быть несколько списков и у каждого может быть option с value=22 и свое действие мы можем ВНЕЗАПНО! адресовать совсем не тому списку что надо (но на даной странице я такого не заметил). Еще 1 недостаток - этот атрибут нельзя будет убрать, разве что перезагрузить страницу... ну и естественно что яваскрипты навешанные на этот селект не сработают (хотя лично мне они никогна еще не понадобились)

2) Установить атрибут selecteditems для списка select зная текст внутри option. Т.е. ищем элемент select (в даном случае можно искать или по id или по name) и делаем set атрибута selecteditems через зенно. Значением этого атрибута должен быть текст, который внутри нужного option (в данном случае это "Волынская область"). Недостатки - нужно точно знать текст внутри option.

Сам я предпочитаю 1-й способ. Т.к. он работает 100%. Реже применяю 2-й (когда на форме несколько выпадающих списков и срабатывает недостатоок 1-го способа). 1-й предпочитаю из-за того, что он основан на самой логике хтмл и будет работать всегда, тогда как 2-й способ перестает работать если в тектсте поменялся хотя бы 1 символ...

А вообще было здорово если бы для select можна было бы ставить атрибут selecteditems основываясь на value а не на текст опции... Если ктото знает как это сделать - отпишитесь!
 
  • Спасибо
Реакции: Danny

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
А вообще я бы попробовал так:
1) грузить страницу БЕЗ яваскрипта и css
2) Находить саму форму (тег form) и брать его outerHTML в беременную
3) Заменять содержимое страницы на этот outerHTML - форма выйдет уродливая, но работать с ней станет проще
4) Заполняем и отправляем форму как обычно.

Такой метод в большинстве случаев отлично работает. И время на разработку шаба уменьшается, т.к. мы выпиливаем css, скрипты и даже лишний хтмл со страницы. Оставляем только то, что нужно - форму
 
  • Спасибо
Реакции: Danny

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
так же, если хорошо покопаться в хтмл - то рядом с выбором категории присутствует скрыты инпут и подозрительным названием, очень похожим на ту самую категорию. И если в этот инпут в атрибут value установить ид конкретной категории, то при отправке формы категория воспринимается как нормально указанная - http://joxi.ru/LmGpVbJsg4KJ2l

Думаю, вы догадываетесь, что этим методом можно обойти все ненужные всплывающие окна. Но опять же таки в этом случае не сработают яваскрипты и не подгрузят дополнительные поля
 
  • Спасибо
Реакции: Danny

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
Спасибо огромное!

Сейчас попробую данные методы!
 

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