Подскажите как корректно выбирать select из выпадающего окна

  • Автор темы Автор темы SlavenTyz
  • Дата начала Дата начала

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 173
Реакции
37
Баллы
48
Замучился уже 1-ну задачу решать, вроде обошел но в итоге на рукожопил и вернулся опять к этой же задачи

Имеется окно которое указано на картинке, но я ни как не могу кликнуть на нужный месяц.

  • Полная эмуляции мышки бесполезно потому что не могу, инфицировать элемент с месяцем, что бы кликнуть на него
  • Данный код нужный месяц не выбирает
    ///////////////////////// Переключения месяца/////////////////////
string strNomber_month=project.Variables["Nomber_month"].Value;

int Nomber_month=int.Parse(strNomber_month);



// Конструктор действий, тип Set

HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("select", "class", "ui-datepicker-month", "regexp", 0);

if (he.IsVoid) return -1;



// Задержка эмуляции

instance.WaitFieldEmulationDelay();

// Установить элементу значение

  • he.SetValue(strNomber_month, instance.EmulationLevel, false);

    114933
 
Делаем тач по этому элементу xpath - //select[@class='ui-datepicker-month']
Далее эмуляция клавиатуры:
{DOWN}
{DOWN}
{ENTER}

Количество нажатий вниз определите какой-нибудь своей логикой.
 
  • Спасибо
Реакции: SlavenTyz
Делаем тач по этому элементу xpath - //select[@class='ui-datepicker-month']
Далее эмуляция клавиатуры:
{DOWN}
{DOWN}
{ENTER}

Количество нажатий вниз определите какой-нибудь своей логикой.
Спасибо но как через полную эмуляцию, это еще один способ. С данной задачей часто сталкиваюсь и вот сейчас решил разобраться
 
включаешь запись действий
через конструктор действий делаешь Rise -> click на открытие списка
2ой раз на выбор

далее при необходимости открываешь кубики и смотришь выбранные значения. туда можно вставить переменные, чтоб выбирало из списка нужное значение
 
Все ваши подсказки не позволят узнать какой элемент выбран, я только вверх, вниз могу эмуляцией клавиатуры двигать. А какой элемент выбран не узнаю
Если кто ни будь хочет вникнуть вот адрес сайта https://ru.whoscored.com/Regions/3/...ns/6541/Stages/15082/Show/Албания-2-2016-2017

114950
 
Все ваши подсказки не позволят узнать какой элемент выбран, я только вверх, вниз могу эмуляцией клавиатуры двигать. А какой элемент выбран не узнаю
Если кто ни будь хочет вникнуть вот адрес сайта https://ru.whoscored.com/Regions/3/...ns/6541/Stages/15082/Show/Албания-2-2016-2017

Посмотреть вложение 114950
За 50$ могу сделать шаблон, который будет выбирать нужное вам значение.
 
За 50$ могу сделать шаблон, который будет выбирать нужное вам значение.
на кворке такое за минималку в 500руб сделают
За 50$ напишут полноценный не простой шаблон с апи смс сервисами (со всеми ответами и статусами апи) и плагином для разгадывания фанкапчи
 
на кворке такое за минималку в 500руб сделают
За 50$ напишут полноценный не простой шаблон с апи смс сервисами (со всеми ответами и статусами апи) и плагином для разгадывания фанкапчи
*HAHA* блин, ты сделал этот вечер... долго ржал.
 
на кворке такое за минималку в 500руб сделают
За 50$ напишут полноценный не простой шаблон с апи смс сервисами (со всеми ответами и статусами апи) и плагином для разгадывания фанкапчи
А это случайно не вы занимаетесь подбором разработчиков zennoposter 8?
 
ну я понимаю, что на кворке по цене вы не проходите ((
даже не знаю... не пробовал... я себя как то уважаю что ли... если там все как написано, то это либо школьники, либо индусы, либо начинающие зенно пользователи...
но больше склоняюсь что ты так просто затролил чувака... уважающий себя разработчик за 500 р. даже ТЗ читать не будет. и найдет заказы за нормальную цену.
 
я бы не сказал, что начинающие
пишут достаточно хорошо
цены там реально дешевые
и отзывы нормальные
проверено на личном опыте!
 
Кто ни будь реальный совет даст или ни кто не знает
 
Кто ни будь реальный совет даст или ни кто не знает
Дружище, я дал тебе реальный совет. То, о чём ты говоришь называется не "попросил совета", а "сделайте за меня". А то, как ты при этом общаешься, напоминает картинку ниже.

2594_original.png


Можно конечно дождаться пока i.stasik научится работать в зенке и через год за 500 рублей сделает тебе нужный шаблон.
А можно не ждать, заказать шаблон за 75$ у знающих людей, получить его в кратчайшие сроки и пользоваться с удовольствием.
 
Ладно вам, не ругайтесь....
Значит такой совет... учитесь пользоваться поиском на форуме. быстрый поиск по ключу "выбрать select" и пробегание по диагонале глазами приводит в тему https://zennolab.com/discussion/threads/pomogite-s-select-i-option-plz.77679/ где очень много рабочих вариантов, подбираем под свой случай и работаем.

да да, я понимаю, что выдав сейчас рабочий код, я потакаю тому что сказал @K R выше... но я просто не хочу щас разводить тут болото из банальщины...

вот выбор по value , например если надо выбрать /Regions/3/Tournaments/406/Seasons/6541/Stages/14773/Show/%D0%90%D0%BB%D0%B1%D0%B0%D0%BD%D0%B8%D1%8F-2-2016-2017 , то код будет такой

C#:
Развернуть Свернуть Копировать
string xpath = $@".//option[@value='{project.Variables["ID_value"].Value}']";

HtmlElement he = instance.ActiveTab.MainDocument.FindElementById("stages");
HtmlElementCollection all_elements = he.FindChildrenByXPath(".//option[@selected]");
HtmlElementCollection target_elements = he.FindChildrenByXPath(xpath);

if (all_elements.Count > 0 && target_elements.Count>0 ) {
    // удаляем атрибут selected со старого элемента
    foreach (HtmlElement he_opt in all_elements) {
        if (he_opt.OuterHtml.IndexOf("selected") != -1) {
            he_opt.RemoveAttribute("selected");
        }
    }

    HtmlElement he_option = target_elements.Elements[0];
    // Вариант 1:
    he_option.SetAttribute("selected", "selected");
    he_option.RiseEvent("onchange", "Full");

}

в переменной ID_value надо поместить /Regions/3/Tournaments/406/Seasons/6541/Stages/14773/Show/%D0%90%D0%BB%D0%B1%D0%B0%D0%BD%D0%B8%D1%8F-2-2016-2017

строка HtmlElement he = instance.ActiveTab.MainDocument.FindElementById("stages"); ищет родителя по его ID. в данном случае это stages
если у родителя нет ID , тогда меняем код на поиск по XPath, составляем XPath , прописываем в коде и работаем.
 
Последнее редактирование:
  • Спасибо
Реакции: SlavenTyz и K R
если надо выбрать по 1. Division B , то код такой

C#:
Развернуть Свернуть Копировать
string xpath = $@".//option[text()='{project.Variables["ID_value"].Value}']";

HtmlElement he = instance.ActiveTab.MainDocument.FindElementById("stages");
HtmlElementCollection all_elements = he.FindChildrenByXPath(".//option[@selected]");
HtmlElementCollection target_elements = he.FindChildrenByXPath(xpath);

if (all_elements.Count > 0 && target_elements.Count>0 ) {
    // удаляем атрибут selected со старого элемента
    foreach (HtmlElement he_opt in all_elements) {
        if (he_opt.OuterHtml.IndexOf("selected") != -1) {
            he_opt.RemoveAttribute("selected");
        }
    }
 
    HtmlElement he_option = target_elements.Elements[0];
    // Вариант 1:
    he_option.SetAttribute("selected", "selected");
    he_option.RiseEvent("onchange", "Full");

}

в переменной ID_value надо поместить 1. Division B
 
  • Спасибо
Реакции: SlavenTyz и slavyn8213
и это стоило 50$ ??? ))))
 
и это стоило 50$ ??? ))))
я поискал это бесплатно. ни ты, ни автор этого топика до сего момента не нашли это решение в открытом доступе. а раз не нашли и оно очень надо было, то можно и 100$ запросить.
по опыту продаж, скажу что и больше люди готовы платить.
 
однако вы умеете вытягивать деньги от ещё не неопытных зеновладельцев )))
 
однако вы умеете вытягивать деньги от ещё не неопытных зеновладельцев )))
есть такое выражение. время - деньги.
вот когда ты наберешься опыта и пойдешь делать заказы на кворк за 500р. тогда может быть поймешь. а может и нет... очень много вижу людей, которые не ценят труд других... типа да что там писать то... 5 строк кода.... умалчивая правда, что ума то у них самих не хватит написать эти самые 5 строк кода.

применительно к текущей теме, твоя помощь вообще ноль, хотя и не взял 500р.

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

на кворке я заказчик, поэтому увы никак ни за 500р, ни за 50$, ни за 100$
пробовал здесь исполнителей искать - откровенно кусается ценник (((
 
ну ладно, помог человеку за бесплатно, так не превозноси здесь себя как Бога

на кворке я заказчик, поэтому увы никак ни за 500р, ни за 50$, ни за 100$
пробовал здесь исполнителей искать - откровенно кусается ценник (((
вот когда из Заказчика перейдешь в разряд Разработчиков, тогда и будешь диктовать цены на свои услуги.
а пока что помечу тебя как не разбирающегося, но желающего всего на халяву.

за сим, закончим этот балаган.
 
в разрабы я точно не переобуюсь, не моё кому-то что-то писать и профит не тот

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

и давай до свидания ))
 

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