И опять про выпадающий список

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

crn

Client
Регистрация
19.11.2015
Сообщения
62
Реакции
6
Баллы
8
Пару месяцев назад пытался сделать "универсальный подаватель объявлений" на с#, но так как не силен в HTML столкнулся с непробиваемой для меня стеной разнообразия флоры и фауны комбобоксов. Наткнулся на Зенно, думал проблема решена, включил "запись" и готово, но не тут то было.
И так, в чем проблема.
Пациент - http://move.su/
Там 6 комбобоксов.
4fc98098a3f9.jpg

Тип комнат, Тип балкона, Тип санузла и т.д.
Вот код 2го комбобокса:

HTML:
Развернуть Свернуть Копировать
<p class="add-txt"> Тип комнат:</p>
        <select name="item[rooms_type]" data-placeholder="Выберите..." class="chosen-select" style="width:252px;">
            <option value=""></option>
                            <option value="1">смежные</option>
                            <option value="2">раздельные</option>
                            <option value="3">смежно-раздельные</option>
                    </select>

Вот 3го:

HTML:
Развернуть Свернуть Копировать
 <p class="add-txt">Тип балкона:</p>
        <select name="item[balcony]" data-placeholder="Выберите..." class="chosen-select" style="width:252px;">
            <option value=""></option>
                            <option value="1">балкон</option>
                            <option value="2">лоджия</option>
                            <option value="3">2 балкона</option>
                            <option value="4">2 лоджии</option>
                            <option value="5">балкон и лоджия</option>
                    </select>

У всех innertext - "Выберите\.\.\." , что соответствует "data-placeholder" в html коде. Но этих "Выберите\.\.\." аж 7 штук на странице.
Если же я делаю поиск по тэгу "select", имя атрибута "name", значение "item[rooms_type]", а Тип поиска Text - то вроде бы Зенно находит его однозначно, в результатах поиска конструктора действий стоит 0, но когда я выставляю Rise - click, то ничего не срабатывает.
Подскажите пожалуйста, как мне сделать нужный мне выбор пункта комбобокса.
Знаю, что нужно читать много справки и смотреть туториалы, но мне осталась именно эта мелочь, а срок действия демки уже истекает, и нужно принимать решение, покупать Зенно или нет.
 
спарсил тип комнат, вытащил из этого всего хлама то что надо, выбрал рандомно или по своему выбору, в каждом комбоксе у тебя значение, я так думаю что передаётся цифра, и так с каждым, это секундное дело будет при обработке проекта
 
  • Спасибо
Реакции: crn
спарсил тип комнат, вытащил из этого всего хлама то что надо, выбрал рандомно или по своему выбору, в каждом комбоксе у тебя значение, я так думаю что передаётся цифра, и так с каждым, это секундное дело будет при обработке проекта
Спасибо, сделал так:
5e79fe30f5b1.jpg

Я как понял, он меняет стиль выпадающего списка. По крайней мере визуально он приобретает другой вид.
Далее выбираю обычным обработчиком пункта меню значение value.
 
Да, таким образом Вы вживляете в элемент своё значение, которое в дальнейшем может использоваться для поиска и обработки.
По проблеме - тут, вероятно, может сработать Set- атрибут selecteditems - значение (балкон), после чего выполняете Rise - Onchange.
 
  • Спасибо
Реакции: Tony Soprano и crn
Да, таким образом Вы вживляете в элемент своё значение, которое в дальнейшем может использоваться для поиска и обработки.
По проблеме - тут, вероятно, может сработать Set- атрибут selecteditems - значение (балкон), после чего выполняете Rise - Onchange.
на сколько я помню, не срабатывал.
после того, как меняется стиль, спокойно устанавливается value в нужное значение.
 
Да, таким образом Вы вживляете в элемент своё значение, которое в дальнейшем может использоваться для поиска и обработки.
По проблеме - тут, вероятно, может сработать Set- атрибут selecteditems - значение (балкон), после чего выполняете Rise - Onchange.
Не могли бы вы подсказать по поводу этой ситуации?
HTML:
Развернуть Свернуть Копировать
<ul class="list formtext_list formtext_list3">
    <li>
        <label for="tr1">Материал <span class="red_star">*</span>:</label>
        <div class="inbl option_100 option_103">
            <table id="materials_ddl_ET" class="dxeValidDynEditorTable" cellspacing="0" cellpadding="0" style="border-collapse:collapse;">
        <tr>
            <td id="materials_ddl_CC"><select class="dxeButtonEditSys" id="materials_ddl" name="ctl00$col1$cnt_FlatsSell$materials_ddl" size="1" onfocus="aspxEGotFocus(&#39;materials_ddl&#39;)" onblur="aspxELostFocus(&#39;materials_ddl&#39;)" onchange="aspxETextChanged(&#39;materials_ddl&#39;)" onkeydown="aspxEKeyDown(&#39;materials_ddl&#39;, event)">
                <option selected="selected" value="0">
                    Выберите...
                </option><option value="1">
                    Блочный
                </option><option value="2">
                    Деревянный
                </option><option value="3">
                    Каркасно-кирпичный
                </option><option value="4">
                    Кирпичный
                </option><option value="5">
                    Монолитный ж/б
                </option><option value="6">
                    Монолитный ж/б с кирпичной облицовкой
                </option><option value="7">
                    Панельный
                </option>
            </select><input type="hidden" id="materials_ddl_LDeletedItems" name="materials_ddl_LDeletedItems" value="" /><input type="hidden" id="materials_ddl_LInsertedItems" name="materials_ddl_LInsertedItems" value="" /><input type="hidden" id="materials_ddl_LCustomCallback" name="materials_ddl_LCustomCallback" value="" /><script id="dxss_1860600350" type="text/javascript">
<!--
Поиск объект находит, но устанавливать значение никак не желает. Пробовал и set value и selecteditems, никак не желает устанавливать значение, даже rise click не срабатывает. А эмуляцию клавы не хочется делать.
 
Там нестандартные элементы. Нужно делать клик, чтобы показался выпадающий список, потом делать второй клик по элементу из выпадающего списка, поиск по innertext
 
  • Спасибо
Реакции: crn
Там нестандартные элементы. Нужно делать клик, чтобы показался выпадающий список, потом делать второй клик по элементу из выпадающего списка, поиск по innertext
спасибо, получилось.
 
Другая проблема)
На сайте полностью ява скрипт.
И id его эдитов и комбобоксов постоянно меняются.
Например сейчас его Тэг - id-generator-6, при следующим запуске может быть id-generator-3 или еще какой нибудь.
Как можно это обойти? Думал сделать эмуляцие
 
Думал сделать эмуляцию Табом до нужного эдита, и получить его id getom, но и это не срабатывает.
 
Думал сделать эмуляцию Табом до нужного эдита, и получить его id getom, но и это не срабатывает.

Ну так точно не получится. В Get Вы должны указать значения и номер элемента, значение которого нужно взять.
 
  • Спасибо
Реакции: crn
Ищите другие параметры, по которым можно отыскать нужный элемент.
а как? я его
Ну так точно не получится. В Get Вы должны указать значения и номер элемента, значение которого нужно взять.
да, и я том же
 
c9f7f69ba5e4.jpg

Я стрелкой отметил все, что доступно об этом элементе. Больше ничего. Сейчас у него id=id-generator-1, в следующий раз другой будет.
 
Может есть вариант нажать ctrl+V с клавиатуры? но тут тоже нужно как то в буфер значение из переменной записывать
 
Аналогичная ситуация с Яндекс.Недвижимость. постоянная генерация нового id для своих элементов. Видимо это своего рода защита.
Кто нибудь обходил это?
 
На яндекс недвижимости это точно легко всё обходится. Да и на других сайтах тоже. Просто нужно подбирать такие значения, которые будут соответствовать этому полю. Не обязательно, чтобы такое поле находилось одно, можно и номерами пользоваться. Главное, чтобы оно постоянно находилось.
 
  • Спасибо
Реакции: crn
На яндекс недвижимости это точно легко всё обходится. Да и на других сайтах тоже. Просто нужно подбирать такие значения, которые будут соответствовать этому полю. Не обязательно, чтобы такое поле находилось одно, можно и номерами пользоваться. Главное, чтобы оно постоянно находилось.
а как? можете показать? уже второй день мучаюсь((
 

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