Как кликнуть по элементу <span> на веб-странице с помощью Delphi
Вопрос о том, как выполнить клик по элементу <span> на веб-странице в среде Delphi, является актуальным для разработчиков, работающих с веб-контролем в Delphi. Элементы <span> часто используются в веб-приложениях для представления различных интерактивных элементов, таких как вкладки или кнопки, которые работают с помощью AJAX-техник, не имея встроенных событий клика.
Описание проблемы
Пользователь столкнулся с необходимостью кликнуть по элементу <span> на HTML-странице, который имеет идентификатор, но не содержит события клика. Элемент работает с использованием AJAX-техник, и пользователю необходимо выполнить клик по этому элементу, используя Delphi и веб-контроль.
Решение проблемы
Для выполнения клика по элементу <span> в веб-контроле Delphi, можно использовать следующий подход:
Загрузите веб-страницу в веб-контроль.
Получите идентификатор элемента <span>, по которому необходимо выполнить клик.
Пройдите по всем элементам на странице и найдите нужный <span> по его идентификатору.
Выполните клик по найденному элементу.
Пример кода на Object Pascal (Delphi), который выполняет описанные шаги:
procedure TMainFrm.ClickBtnClick(Sender: TObject);
var
Document: IHTMLDocument2;
SPAN, Temp: IHTMLElement;
ElementCount, I: Integer;
begin
if WB.Document = nil then
begin
MessageBox(Handle, 'First Load a Page in TWebBrowser !!', '', MB_OK + MB_ICONEXCLAMATION);
Exit;
end;
if SIDEdit.Text = '' then
begin
MessageBox(Handle, 'Enter SPAN ID !', '', MB_OK + MB_ICONEXCLAMATION);
Exit;
end;
Document := WB.Document as IHTMLDocument2;
ElementCount := Document.all.length;
for I := 0 to ElementCount - 1 do
begin
Temp := Document.all.item(I, '') as IHTMLElement;
if (Temp.tagName = 'SPAN') and (Temp.id = SIDEdit.Text) then
begin
SPAN := Temp;
Break;
end;
end;
if SPAN <> nil then
SPAN.click
else
MessageBox(Handle, 'No SPAN Tag with ID Entered Found !', '', MB_OK + MB_ICONINFORMATION);
end;
Для использования данного кода, на форму необходимо добавить следующие компоненты:
TWebBrowser с именем WB для отображения веб-страницы.
TEdit с именем SIDEdit для ввода идентификатора элемента <span>.
TBitBtn с именем ClickBtn, на который повесить данный обработчик события клика.
Пользователь хочет выяснить, как в среде Delphi осуществить клик по элементу `` на веб-странице с использованием веб-контроля и предоставленного идентификатора этого элемента.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.