Я пытаюсь программно нажать ряд кнопок на веб-странице HTML, который выглядит следующим образом:Программным нажмите кнопку в C#
<div class="srp-actions blue-button"><a class="primary-action-button label" href="/people/invite?from=profile&key=243930744&firstName=Will&lastName=Yang&authToken=p8Oz&authType=OUT_OF_NETWORK&connectionParam=member_desktop_search_people-vertical-module&csrfToken=ajax%3A7824954558998584370&trk=vsrp_people_res_pri_act&trkInfo=VSRPsearchId%3A12487701484818103943%2CVSRPtargetId%3A243930744%2CVSRPcmpt%3Aprimary" data-li-result-interaction="instant-connect" data-li-success-text="Invite Sent" data-li-connect-href="/people/contacts-search-invite-submit?memIds=243930744&authTokens=p8Oz&authTypes=OUT_OF_NETWORK&from=voltron&firstName=Will&lastName=Yang&isAjax=true&connectionParam=member_desktop_search_people-vertical-module&csrfToken=ajax%3A7824954558998584370&trk=vsrp_people_res_invite_act&trkInfo=VSRPsearchId%3A12487701484818103943%2CVSRPtargetId%3A243930744%2CVSRPcmpt%3Aprimary">Connect</a><div class="secondary-actions-trigger"><button role="button" class="trigger"><span>Secondary Actions</span></button><ul class="menu"><li><a href="/requestList?displayProposal=&destID=243930744&creationType=DC&authToken=p8Oz&authType=OUT_OF_NETWORK&trk=vsrp_people_res_sec_act&trkInfo=VSRPsearchId%3A12487701484818103943%2CVSRPtargetId%3A243930744%2CVSRPcmpt%3Aprimary">Send InMail</a></li><li><a href="/forwardProfileMsg?displayCreate=&profileID=0_0TL7XobJNwUxDDGHun9drH&profileName=Will+Yang&network=I&trk=vsrp_people_res_sec_act&trkInfo=VSRPsearchId%3A12487701484818103943%2CVSRPtargetId%3A243930744%2CVSRPcmpt%3Aprimary">Share</a></li></ul></div></div>
Вот текущий код, чтобы найти элемент кнопки и выполнить действие:
HtmlElementCollection elements = webBrowser1.Document.GetElementsByTagName("a");
// First find and click "Connect" buttons
foreach (HtmlElement item in elements)
{
if (item.OuterHtml.Contains("action-button label") &&
!item.OuterHtml.Contains("Message") &&
item.OuterHtml.Contains("OUT_OF_NETWORK"))
{
item.SetAttribute("href", item.GetAttribute("data-li-connect-href"));
item.InvokeMember("Click");
}
}
код правильно найти элемент якорь, но метод InvokeMember, кажется, не дают никакого результата, ни малейшего представления, что это не так?
На самом деле, «кнопка» актуальная является якорь элемента, следовательно, нет кнопки элемента нажать - элемент кнопки в HTML коде выше только кнопка стороны, которая выходит за рамки этого вопроса. –
@ LocoBarocco Обновлен ответ, проверьте его. – FreeKrishna
Я вижу вашу точку зрения, но в html-коде выше элемент привязки не имеет идентификационного тега, поэтому не будет работать ... –