Показать сообщение отдельно
  #9  
Старый 20.07.2015, 15:35
crn crn вне форума
Прохожий
 
Регистрация: 13.07.2015
Сообщения: 5
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Посмотрел я код этого сайта. Несколько удивлен, что вам как-то удалось добраться до подкатегорий. В отладке этот сайт благополучно виснет, походу защита от любопытных. Попытка просмотреть исходный код сайта на разных этапах, тоже не дает требуемой категории. Видимо, как и советовали, вам просто надо перебрать весь набор элементов.
Но все-же интересно, почему при просмотре исходника не отображаются категории.
До подкатегори я добрался, и подкатегорию тоже получилось выбрать по имени класса:
Код:
    var select = webBrowser1.Document.GetElementById("fld_category_id");
                mshtml.HTMLSelectElement cbProyectos = select.DomElement as mshtml.HTMLSelectElement;
                int i2=0;
                var total = cbProyectos.length;
                for (int i = 0; i < total; i++)
                {
                    cbProyectos.selectedIndex = i;
                    if (cbProyectos.value.Contains("24"))
                    {
                        i2 = i;
                        break;
                    }
                }
                
                select.InvokeMember("onchange");
                              
               // выбор подкатегории

                var links = webBrowser1.Document.GetElementsByTagName("select");
                foreach (HtmlElement link in links)
                {
                    if (link.GetAttribute("className") == "filter form-input-select")
                    {
                        link.SetAttribute("value", "1060");
                    }
                }
Но, подкатегория появляется только при ручном выборе основной категории, но никак не при программном, делал InvokeMember, не помогает.
В общем, сейчас стоит задача в программном эмулировании ручного выбора выпадающего списка.
Правда на c# все.
Ответить с цитированием