Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Авто-клик ссылки в контроле WebBrowser


Автор: transkriptsiya 21.8.2014, 22:56
Всем привет.

С помощью компонента  WebBrowser пытаюсь автоматом проклацать пару ссылок - все ок.

вот только одна из страниц генерируется java скриптом (как я понял) и мои попытки вроде- 
Код

 private void button7_Click(object sender, EventArgs e)
        {
            foreach (HtmlElement he in webBrowser1.Document.GetElementsByTagName("a"))
            {
                if (he.InnerHtml == "Кредиты")
                {
                    he.InvokeMember("click");
                }
            }
        }


почему-то не работают.

вот сам код который я не могу никак кликнуть

Код


<a href="saw.dll?PortalPages&amp;_scid=tOO-MFooijE&amp;PortalPath=/shared/%d0%92%d1%81%d0%b5ba%d0%b8/_portal/%d0%9ab4%d0%b8
%d1%82%d1%8b&amp;Page=%d0%9a%dd0%b0&amp;Done=Close" target="_blank" name="SectionElements"><span class="NavLinkCaption">Депозиты</span></a>

<a href="saw.dll?PortalPages&amp;_scid=tOO-MFooijE&amp;PortalPath=/shared/%d0%92%d1%81%d0%b5ba%d0%b8/_portal/%d0%9ab4%d0%b8
%d1%82%d1%8b&amp;Page=%d0%9a%d1%80b0&amp;Done=Close" target="_blank" name="SectionElements"><span class="NavLinkCaption">Кредиты</span></a>



Можно кликнуть name="SectionElements - но так обозваны все ссылки что генерирует javascript и они все открываются.

Автор: diadiavova 22.8.2014, 00:08
Иннерхтмл у этого элемента такой
Код

<span class="NavLinkCaption">Кредиты</span>

Автор: transkriptsiya 22.8.2014, 22:23

не работает. кавычки экранировал 

Код

@"<span class=""NavLinkCaption"">Кредитная база</span>";

Автор: diadiavova 22.8.2014, 22:44
transkriptsiya, а почему у тебя здесь написано "Кредитная база", кода в коде - "Кредиты"? Строка ведь должна точно соответствовать.

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

Автор: transkriptsiya 22.8.2014, 23:03
Кредиты то я по памяти писал. строка совпадает на 100%

C InnerText все заработало. Большое спасибо!!!

Автор: diadiavova 22.8.2014, 23:09
Цитата(transkriptsiya @  23.8.2014,  00:03 Найти цитируемый пост)
Кредиты то я по памяти писал. строка совпадает на 100% 

Ты хочешь сказать, что в первом посте фрагмент кода ты писал по памяти? smile 
Цитата(transkriptsiya @  21.8.2014,  23:56 Найти цитируемый пост)
Код

<a href="saw.dll?PortalPages&amp;_scid=tOO-MFooijE&amp;PortalPath=/shared/%d0%92%d1%81%d0%b5ba%d0%b8/_portal/%d0%9ab4%d0%b8
%d1%82%d1%8b&amp;Page=%d0%9a%dd0%b0&amp;Done=Close" target="_blank" name="SectionElements"><span class="NavLinkCaption">Депозиты</span></a>
<a href="saw.dll?PortalPages&amp;_scid=tOO-MFooijE&amp;PortalPath=/shared/%d0%92%d1%81%d0%b5ba%d0%b8/_portal/%d0%9ab4%d0%b8
%d1%82%d1%8b&amp;Page=%d0%9a%d1%80b0&amp;Done=Close" target="_blank" name="SectionElements"><span class="NavLinkCaption">Кредиты</span></a>

Лучше проверь еще раз.

Автор: transkriptsiya 22.8.2014, 23:18
sorry - не по памяти. Перепроверял - почему-то не работает.
InnerText - заработал - мне больше и не нужно. Иду дальше -верней пишу дальше.

Автор: diadiavova 22.8.2014, 23:26
Цитата(transkriptsiya @  23.8.2014,  00:18 Найти цитируемый пост)
Перепроверял - почему-то не работает.

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

Автор: transkriptsiya 22.8.2014, 23:54
Свойство выдает


Код

 InnerHtml =  <SPAN class=NavLinkCaption>Кредитная база</SPAN>


Все тоже, только без двойных кавычек. Теперь и InnerHtml, благодаря Вам - заработал. Еще раз спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)