![]() |
|
|
![]()
|
|
| Rerecoder |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.3.2011 Репутация: нет Всего: нет |
работаем c C++ (Visual Studio 2005)
Делаем парсер, возникло желание как то отличать обычные видимые ссылки и спрятанные ссылки, которые обычный пользователь не видит на экране. (хидеными дивами и прочими методами) Варианты с ссылкой под картинкой цвета фона тут не рассматриваем. Код который надо улучшить : class CHtmlView : public CFormView { ... LPDISPATCH GetApplication() const; LPDISPATCH GetParentBrowser() const; LPDISPATCH GetContainer() const; LPDISPATCH GetHtmlDocument() const; ... } используем MSHTML.tlh _COM_SMARTPTR_TYPEDEF(IHTMLDocument2, __uuidof(IHTMLDocument2)); _COM_SMARTPTR_TYPEDEF(IHTMLElement, __uuidof(IHTMLElement)); далее class BrowserExplorer : public CHtmlView { protected: // create from serialization only BrowserExplorer(); ... } далее в void BrowserExplorer::openurl(char *url){ try{ MSHTML::IHTMLDocument2Ptr pDoc(GetHtmlDocument()); MSHTML::IHTMLElementPtr e(pDoc->Getall()->item(_T(""))); получаем int g = pDoc->Getlinks()->Getlength(); for (int j = 0; j < g-1; j++){ BSTR b,v; e = pDoc->Getlinks()->item(j); } можно ли как то обработать в этом цикле только те ссылки которые видимые в браузере? тоесть не спрятаны в div у которого стиль hidden или другие ситуациии |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |