Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение видимых элементов в CHtmlView, прошу помощи по фичам парсинга html 
:(
    Опции темы
Rerecoder
Дата 27.3.2011, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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 или другие ситуациии 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.1738 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.