Как выбрать конкретный элемент из списка select

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

maksgmn

Client
Регистрация
29.01.2016
Сообщения
204
Реакции
6
Баллы
18
Здравствуйте, есть список на сайте авито, в котором нужно выбрать город, этот список - select. Как мне сделать, чтобы я мог задать значением из переменной какой-либо город? Вот скриншот, список заскринить не получается, но думаю тут понятно, что это за список -> http://prntscr.com/ao83p6, спасибо
 
Set value 2,3,4
 
DrlNo1pS4OOja2.jpg




Но нужно в коде посмотреть, как он выдает селектед итемс.



Таким образом он все города должен посмотреть, чтобы мог задавать.
Как он будет знать, какой валю отвечает для какого города?
 
  • Оценить
Реакции: Fobos
DrlNo1pS4OOja2.jpg




Но нужно в коде посмотреть, как он выдает селектед итемс.




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

Там инпута нет, там option
 
Option это внутренности select
Скрин выше верный, только input:text замените на select и пропишите к нему верные атрибуты поиска
 
Там инпута нет, там option
Скрин просто был примером, я не делал на авито, а по ходе своей работы просто сделал скрин, как сделать, т.е верхнее это грубо сказать в скрине лишнее.
 
Таким образом он все города должен посмотреть, чтобы мог задавать.
Как он будет знать, какой валю отвечает для какого города?
Значит сначала клик по select, потом выбор value.
 
Значит сначала клик по select, потом выбор value.
Что измениться ?, допустим, я начал делать, в списке у меня город стоит Балашиха, это к примеру, откуда я знать буду, какой value отвечает за Балашиха?
 
Что измениться ?, допустим, я начал делать, в списке у меня город стоит Балашиха, это к примеру, откуда я знать буду, какой value отвечает за Балашиха?
Методом подбора там статичные значения как правило, сверзу вниз. Капайтесь в дереве элементов, там тоже можно найти их.
 
Методом подбора там статичные значения как правило, сверзу вниз. Капайтесь в дереве элементов, там тоже можно найти их.
Вы читайте что я пишу?

Если можно сделать в 10 раз легче, http://zennolab.com/discussion/thre...-ehlement-iz-spiska-select.26597/#post-185396
Вот пример, зачем мне капать находить value? Значение по номерам?
 
Вы читайте что я пишу?

Если можно сделать в 10 раз легче, http://zennolab.com/discussion/thre...-ehlement-iz-spiska-select.26597/#post-185396
Вот пример, зачем мне капать находить value? Значение по номерам?
Да не зачем, я предложил свой вариант, вы свой, я вобще не понял, что за "селектед итемс" изначально, подумал вы спрашиваете. Если решение найдено и вы работали с авито, то вам виднее.
 
  • Оценить
Реакции: qzen4i
Опять Авито. Как подставить свое значение перемеренной в выборе из списка.
 
  • Оценить
Реакции: prostors и ttimbaland1983
Возможно кому нибудь будет полезен мой код который устанавливает нужное значение в атрибут "select".
алгоритм следующий:

1. находим с помощью xpath нужный нам select
2. наводим фокус
3. переводим список (select) в начало
4. в цикле перебираем эмулируя нажатием клавиши "down" нужное нам значение. Если нужное нам значение установлено цикл завершает работу
C#:
Развернуть Свернуть Копировать
// выбор страны/ региона

HtmlElement he;
string profile_country = project.Variables["profile_country"].Value; //переменная из входных настроек (строна)
string attribute;

he = instance.ActiveTab.FindElementByXPath("//div[@class='Select']/Select[@name='phone_prefix']", 0);
if (he.IsVoid) return -1;   
instance.WaitFieldEmulationDelay();
he.RiseEvent("focus", instance.EmulationLevel);

//ставим листбокс (select) в верхнее положение
instance.SendText("{HOME}", 15);

//получам текущее выбранное значение страны
// Получить значение атрибута "selecteditems"
attribute = he.GetAttribute("selecteditems");
project.SendInfoToLog(string.Format("значение атрибута: {0}",attribute),true);
//сравниваем с заданными входными настройками страны (цикл сравнений)
while(!attribute.Contains(profile_country)){
    instance.SendText("{DOWN}", 15);
    attribute = he.GetAttribute("selecteditems");
}

project.SendInfoToLog(string.Format("значение атрибута: {0}",attribute),true);
 
  • Оценить
Реакции: ramzes8
Вот это кастыли. А что, софт, который разрабатывают более десятка лет не может победить обычный селект? Подстановка но номеру - это очень слабенько и не универсально. Как выбирать select по значению атрибута value?
 
Ребят, я работаю senior-ом много лет. Может я, конечно, тупой кодер, но я не въезжаю, как в этом софте сделать банальную операцию: выбрать нужный option по значению атрибута value. )))) Подскажите, как это делается без кучи костылей. Должен же быть простой вариант.
 
Ребят, я работаю senior-ом много лет. Может я, конечно, тупой кодер, но я не въезжаю, как в этом софте сделать банальную операцию: выбрать нужный option по значению атрибута value. )))) Подскажите, как это делается без кучи костылей. Должен же быть простой вариант.
Топик 16го года, может что поменялось.
 
Вот это кастыли. А что, софт, который разрабатывают более десятка лет не может победить обычный селект? Подстановка но номеру - это очень слабенько и не универсально. Как выбирать select по значению атрибута value?
мы все будем не против, если сделаешь не слабенько и универсально :bk: а так же скажем тебе спасибо, если ты все сайты в мире заставишь придерживаться какого то одного стандарта... меры воздействия на твой выбор ;-)
а то развелось тут куча , то на селектах сделают, то на дивах , вообще расслабились.

ну а вообще, давно уже на форуме все есть по селектам. senior с многолетним стажем, умеет же пользоваться поиском ? ;-)
вот например парочка ...
 
О, как.
А может ты мне еще и заплатишь тогда? :D А то че это я, действительно. Плачу еще и вопросы тут смею задавать.
А на счет поиска. Спасибо, кэп. Вот только, как я и написал выше, это костыли.
Ты предлагаешь для решения примитивной задачи вставить кусок кода. Софт как бы претендует на нечто большее, чем на общественный туалет, где за собой нужно слить ведром из колодца на улице, а не кнопочкой на сливном бачке, не так ли?
 
О, как.
А может ты мне еще и заплатишь тогда? :D А то че это я, действительно. Плачу еще и вопросы тут смею задавать.
А на счет поиска. Спасибо, кэп. Вот только, как я и написал выше, это костыли.
Ты предлагаешь для решения примитивной задачи вставить кусок кода. Софт как бы претендует на нечто большее, чем на общественный туалет, где за собой нужно слить ведром из колодца на улице, а не кнопочкой на сливном бачке, не так ли?
Тебе ехать или шашечки ?
Ну походи по рынку, поищи подешевле, да по лучше... или может сам напишешь такой софт, что мы все прям такие вау, у него же селект одной кнопкой выбирается :bk:

Я вот хз, где и что там у тебя претендует, но тебе лучше сделать возврат, если купил и не покупать, если пробуешь демку, раз уж на стадии селекта такие проблемы. а будешь тут на форуме как парочка вечно недовольных, распальцовку делать, типа самый умный, а софт говно. но все равно пользуюсь и поэтому весь в говне (facepalm)
 
Тебе ехать или шашечки ?
Ну походи по рынку, поищи подешевле, да по лучше... или может сам напишешь такой софт, что мы все прям такие вау, у него же селект одной кнопкой выбирается :bk:

Я вот хз, где и что там у тебя претендует, но тебе лучше сделать возврат, если купил и не покупать, если пробуешь демку, раз уж на стадии селекта такие проблемы. а будешь тут на форуме как парочка вечно недовольных, распальцовку делать, типа самый умный, а софт говно. но все равно пользуюсь и поэтому весь в говне (facepalm)
М-да. Клиентоориентированность: made in Russia.
 
М-да. Клиентоориентированность: made in Russia.
в каком месте ты увидел что я хочу видеть в тебе клиента ? ты спросил про селект, я тебе накидал ссылок. на этом все.
все остальные твои распальцовки, про крутого сеньера, про софт который не удовлетворяет твоим высоким стандартам, это можешь при себе оставить.
Вообще тебя тут никто не держит, не нравиться, досвидос. 8-)
 
Здравствуйте, есть список на сайте авито, в котором нужно выбрать город, этот список - select. Как мне сделать, чтобы я мог задать значением из переменной какой-либо город? Вот скриншот, список заскринить не получается, но думаю тут понятно, что это за список -> http://prntscr.com/ao83p6, спасибо
Это в мобильной версии?
Если нет, то вот

C#:
Развернуть Свернуть Копировать
string city ="Балашиха";
var tab = instance.ActiveTab;
tab.FindElementByXPath("//*[@data-marker = 'search-form/change-location']",0).Click();Thread.Sleep(500);//Открыть форму
tab.FindElementByXPath("//*[@data-marker='popup-location/region/input']",0).SetValue(city,"full",false);Thread.Sleep(1000);//Ввести запрос
tab.FindElementByXPath($"//*[@data-marker = 'suggest-list']//li//span[starts-with(@class,'suggest-suggest')]//*[starts-with(text(),'{city}')]",0).Click();Thread.Sleep(500);//Выбрать совпадение
 

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