Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.01.2014, 10:19   #1
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию Удалить тег <div>...</div> Из WebBrowser Delphi.

Всем доброго времени суток, нужно с Webbrowser'а удалить 1 <div>
с утра по гуглил ни чего путного не нашел, точнее есть 1 пример но он удаляет тег "input" а мне нужно удалить <div>
Не подскажете как сделать?
Вот код для удаления Инпутов
Код:
begin
 Document:=WebBrowser1.Document as IHTMLDocument2;
   Collection := Document.all.tags('input') as IHTMLElementCollection;
   for i := 0 to pred(Collection.length) do
   begin
      Element := Collection.Item(i, varEmpty) as IHTMLElement;
      if Assigned(Element) and (Element.id = 'toolbar') then
      begin
         node := Element as IHTMLDOMNode;
         node := node.parentNode.parentNode.parentNode;
         while node.hasChildNodes do node.removeChild(node.firstChild);
         node := node.nextSibling;
         while node.hasChildNodes do node.removeChild(node.firstChild);
      end;
   end;
end;
а мне надо удалить например этот тег

<div class="x-toolbar x-small-editor">....</div>

Вообще не пойму как работать с 'Dom' перепробовал много вариантов все не то, ни как не пойму, хочу вот такой код писать сам самостоятельно а не искать в интернете готовые, чтоб мог понимать какой код и что он делает.....
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума
Старый 19.01.2014, 10:51   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

во фрилансе это очень быстро сделают
eval вне форума
Старый 19.01.2014, 11:05   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вообще не пойму как работать
Замени input на div в Document.all.tags
И так же измени Element.class = 'x-toolbar x-small-editor' в условии
Это для начала.

А вообще замени работу )
Программирование пока что не твое, без обид.
I'm learning to live...
Stilet вне форума
Старый 19.01.2014, 11:14   #4
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Замени input на div в Document.all.tags
И так же измени Element.class = 'x-toolbar x-small-editor' в условии
Это для начала.

А вообще замени работу )
Программирование пока что не твое, без обид.
Спасибо, про программирование ни вы 1 говорите уже такое, Ну вот даже и по форексу говорили что не мое... но все же сейчас на много лучше чем по началу... Я раньше не занимался этим вообще.... Скорее всего пойду на платные курсы... Не знаете кто обучает по скайпу ?

Не много терпения и потом у меня будете спрашивать как лучше сделать
Программирование для меня не работа, это хобби, для себя делаю что мне надо и все)

Вот вы говорите о фрилансе, Хорошо, сколько по просят чтоб обучить работать только с webbrowser
то есть чтоб я мог
удалить что мне не нужно с сайта
Запретить какой нибудь javascript
спарсить только нужный div с сайта
ну что то в этом роде...


Stilet
Ваш способ мне не помог((
ставил на "WebBrowser1DocumentComplete" при открытии странички видно тег..
99% ошибок компьютера сидит в полуметре от монитора.

Последний раз редактировалось Stilet; 19.01.2014 в 12:06.
Fahman вне форума
Старый 19.01.2014, 12:04   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ставил на "WebBrowser1DocumentComplete" при открытии странички видно тег..
Отладкой проходи по коду. Я бы вообще его переписал:
Код:
begin
 Document:=WebBrowser1.Document as IHTMLDocument2;
   Collection := Document.all.tags('div') as IHTMLElementCollection;
   for i := 0 to pred(Collection.length) do
   begin
      Element := Collection.Item(i, varEmpty) as IHTMLElement;
      if Assigned(Element) and (Element.class= 'x-toolbar x-small-editor') then
      begin
         node := Element as IHTMLDOMNode;
         node := node.parentNode.removeChild(node);
      end;
   end;
end;
Еще раз повторяю: Отладка. Сколько бы ты не изучал - ты не Вирт. Поэтому отладкой пользоваться край необходимо научиться. Иначе будешь продолжать задавать такие вопросы, а это к прогрессу не ведет не смотря на общение.
I'm learning to live...
Stilet вне форума
Старый 19.01.2014, 14:24   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
удалить что мне не нужно с сайта
Запретить какой нибудь javascript
спарсить только нужный div с сайта
ну что то в этом роде...
Первое и последнее делается за минут 5 от силы, ну для меня по крайней мере.
Достаточно почитать про структуру DOM, чуть- разобраться с JavaScript, ибо и программно и там работа с DOM одинакова.

В случае обучения вы платите за потраченное время и ресурсы на вас, все буквально зависит от того как быстро вы все схватываете.

Второе поздно делать в браузере, это другое и делается перед браузером, т.е. пишется фаерволл.

По теме:
Все чуток проще, запрашиваете у документа есть свойство scripts а у него есть метод getElementsByClassName, который делает выборку тегов по аттрибуту class.
Затем проходитесь по коллекции и удаляете узлы.

Последний раз редактировалось Человек_Борща; 19.01.2014 в 14:45.
Человек_Борща вне форума
Старый 19.01.2014, 14:57   #7
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Спасибо всем за ответы. Тему можно закрыть. Проблема не решена.

P.S. Проблема не в вас, проблема во мне.....
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума
Старый 19.01.2014, 15:17   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

в том что вы читать е хотите, что говорят не слушаете и т.д.

и программирование тут не при чем, возьмите человека с метлой,
если ему говорят что надо брать за черенок и мести метлой, а он все равно в руки метлу а черенком по полу вазюкает, ну и что с него получится?
eval вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
HTML CSS и тег DIV Решетова Алена HTML и CSS 6 24.03.2013 10:34
Что нужно делать чтобы высота div зависила то дочурного div? Duddu HTML и CSS 2 25.04.2012 21:23
Вопрос про тег <div> moshkin_ura HTML и CSS 1 10.09.2011 20:01
как выровнить div внутри другого div'a по вертикали по центру Arassir HTML и CSS 4 12.03.2011 20:01
div тег как нижний слой для второго div тега dadli HTML и CSS 2 30.07.2010 01:12