2015-06-26 8 views
0

Следующий код, где ссылка, на которую нужно щелкнуть, похоронена.Как нажимать на ссылку веб-страницы автоматически?

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

Строка, которая содержит «Time Clock запись» есть ссылка, которую мне нужно нажать ...

Я новичок в кодировании. Это мой первый проект.

Извините. Я не понимал, что моя предыдущая копия/паста была сокращена. Я исправил строку, содержащую ссылку.

Еще раз спасибо.

<div id="dockedContent" class="dockedContent"> 

    <div id="RecentlyVisitedWidget" class="recentlyVisitedWidget"> 

    <h2 id="ctl00_12_12_RecentlyVisitedLabel"></h2> 
    <ul class="recentlyVisitedLinks"> 
     <li> 
      <span id="ctl00_12_12_Repeater1_ctl00_link"> 
       <a href="#" onclick="recentlyVisitedSelect('pages/VIEW/UTMEntry.aspx?USParams=PK=ESS!MenuID=2147!PageRerId=2147!ParentRerId=72','72','2147','2147', false, false, 'Time Clock Entry', true)" title="Time Clock Entry">Time Clock Entry</a>  
       </span> 
      </li> 
      <li></li> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
    </div> 

</div> 
+0

Возможный дубликат http://stackoverflow.com/questions/3419306/how-can-i-progmatically-click-a-link-in-a -winform-веб-браузер-контроль? – Jashaszun

ответ

0

Вы можете найти связь с этим:

HtmlElement link = (from HtmlElement elem in webBrowser.Document.GetElementsByTagName("a") 
        where elem.GetAttribute("title") == "Time Clock Entry" 
        select elem).ElementAt(0); 

Это в основном говорит «получить все a тегов в документе (и, следовательно, все ссылки), а затем фильтр, так что я получаю только a тегов с названием Time Clock Entry. Как только вы это сделали, дайте мне первый такой элемент ».

А затем щелкните его программно с этим:

link.InvokeMember("Click"); 
+0

Это меня гораздо ближе, чем раньше. Я понимаю логику этого, я просто недостаточно опытен, чтобы беспокоить ошибку, которую я получил от первого lin ... –

+0

System.Windows.Forms.HtmlElementCollection 'не содержит определения для «Where» и никакого метода расширения », Где можно принять первый аргумент типа «System.Windows.Forms.HtmlElementCollection» (вам не хватает директивы using или ссылки на сборку?) –

+0

@SeanConnelly О, мой плохой, не понял, что 'HtmlElementCollection' doesn ' t получается из любых коллекций, но фактически из 'объекта'. Я исправлю свой ответ на мгновение. – Jashaszun

Смежные вопросы