IHTMLElement Нажмите не продвигать HTMLDocument на следующую страницу - PullRequest
0 голосов
/ 28 сентября 2018

Обновление: я понял, что слишком быстро проверяю элемент, нужно было дать hdoc_Doc время для загрузки.Получение элемента по идентификатору и запуск события click работает.Проблема решена.

Я пытаюсь перейти на страницу x нескольких страниц результатов поиска в Startpage.com.Я могу успешно разобрать объект в IHTMLElement.getElementByID ("2");и я использую это событие Click (), чтобы запустить JavaScript за ним.Тем не менее документ остается на первой странице результатов поиска.

private void GetNextPage(int i_page)
{
   HTMLDocument hdoc_Doc = (HTMLDocument)wb1.Document; // wb1 is at page one of search results
   IHTMLElement element_Page = hdoc_Doc.getElementByID(i_page.ToString());
   if (null != element_Page)
   {
       // element_Page.click(); // Changed to below statement
       hdoc_Doc.getElementByID("2").click();  // It now works
   }
   // Now check to see which titles are showing
   IHTMLElement element_OneCheck = hdoc.getElementByID("title_1"); // Page one search results
   IHTMLElement element_TwoCheck = hdoc.getElementByID("title_11"); // this is on page 2 search results if it gets there...
   if (null != element_OneCheck)
       Console.WriteLine("Page One Still...");
   if (null != element_TwoCheck)
       Console.WriteLine("Page Two found...");
}

Результат: «Первая страница еще ...» Я даже пытался выполнить прямое действие с документом:

hdoc_Doc.getElementByID("2").click;

Еще раз это сработало, но не переместило документ на следующую страницу результатов поиска.Я также разобрал это с помощью HTMLAgilityPack, но это для анализа, не обрабатывающего ссылку javascript, поэтому я пошел по этому пути.Вот ссылка, которую я пытаюсь выполнить:

<a href="javascript:;" class="numbers_st" onclick="mysubmit(20); return false;" id="2">2</a>

Любая помощь будет принята с благодарностью!Я на .NET 4.0 использую VS 2010 (да, я знаю, что он старый, но Ultimate по сравнению с бесплатными версиями, которые у меня есть для более новой VS - поэтому я придерживаюсь 2010 для полной среды).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...