Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi и сети

Войти
Регистрация
Восстановить пароль
 
grigandal1580
2 / 1 / 0
Регистрация: 16.01.2016
Сообщений: 189
#1

Нажать на элемент на странице WebBrowser Delphi - Delphi

13.12.2016, 15:41. Просмотров 390. Ответов 2
Метки нет (Все метки)

Как нажать на такой элемент?

HTML5
1
<div class="container -up"><a href="javascript:;" data-test="deal-button-up"><svg class="svg"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#up"></use></svg><span class="text">Выше</span><span class="spinner">&nbsp;</span></a></div>
Не нашел ни одного тэга, по которому его дельфи может выделить
Подскажите, как действовать?

Элемент содержит JavaScript

GetElementIdBy... - соответственно не работает

Попытался выделить формы из веб страницы - безрезультатно

Добавлено через 18 часов 55 минут
Попытался сделать так - тоже ничего
Delphi
1
2
3
4
5
for i := 0 to WebBrowser1.OleObject.Document.All.Length - 1 do
begin
if WebBrowser1.OleObject.Document.All.Item(i).InnerHTML='<div class="container -up"><a href="javascript:;" data-test="deal-button-up"><svg class="svg"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#up"></use></svg><span class="text">Выше</span><span class="spinner">&nbsp;</span></a></div>' then
   WebBrowser1.OleObject.Document.All.Item(i).Click();
end;
Добавлено через 3 часа 30 минут
Я смог этот элемент вытащить вот так

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var
Doc, Arr, Elem : Variant;  S:string;
i: Integer; did:boolean;
begin
did:=false;
  i:=WebBrowser1.OleObject.Document.all.tags('div').length - 1;
  while i >=0  do
begin
 
if pos('data-test="deal-button-up"',WebBrowser1.OleObject.Document.all.tags('div').item(i).outerhtml)<>0 then
begin
WebBrowser1.OleObject.Document.all.tags('div').item(i).focus;
WebBrowser1.OleObject.Document.all.tags('div').item(i).click();
 
did:=true;
 
memo1.Lines.append(WebBrowser1.OleObject.Document.all.tags('div').item(i).outerHTML);
memo1.Lines.append('');
 
end;
if did then
i:=0;
i:=i-1;
end;

но вот эта строка не выполняется
Delphi
1
WebBrowser1.OleObject.Document.all.tags('div').item(i).click();
И ошибки не возникает

скорее всего это из-за того, что элемент содержит js

Как выполнить клик?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2016, 15:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нажать на элемент на странице WebBrowser Delphi (Delphi):

Нажать на объект в Webbrowser - Delphi
Программисты помогите нажать на &quot;Кнопу&quot; вот сайм сайт http://www.esetnod32.ru/partners/loyalty_program/overview/#1 кнопка - Получить ...

Как в webbrowser нажать на div? - Delphi
Уменя вопрос Как в webbrowser нажать на div? Вот пример кода html &lt;a class=&quot;single_like_button btn3-wrap&quot;...

WebBrowser. Нажать на кнопку ВКонтакте - Delphi
Здравствуйте, форумчане! С вашей помощью мне нужно программно нажать на кнопку 'Войти' ВКонтакте в WebBrowser. Так, чтобы я нажимал на...

Программно нажать на кнопку, используя WebBrowser - Delphi
Здравствуйте. Я совсем недавно работаю с этим компонентом и пока никак не могу нормально в нём разобраться. В данном случае проблема в...

Delphi WebBrowser Получить HTML сайта не отображая сайт в WebBrowser - Delphi
На некоторых сайтах такую шляпу вешают, что они неприятны, но тем не менее могут содержать что-то нужное. Речь о рекламе. Если делать...

Многократное заполнение полей на одной странице в webbrowser - Delphi
Имеется вот приблизительно такой вот код: html_tag:=WebBrowser1.OleObject.Document.forms.item(0).elements; for i:=0 to...

2
ETUN4
3 / 3 / 0
Регистрация: 17.06.2014
Сообщений: 103
15.12.2016, 19:30 #2
Не ответ, но хороший совет. Используй dcef.
0
grigandal1580
2 / 1 / 0
Регистрация: 16.01.2016
Сообщений: 189
16.12.2016, 00:53  [ТС] #3
ETUN4, Я его уже установил, дня три назад
Все форумы облазил, но так и не получилось у меня взять у него html документ
Все способы перепробовал
Скажите хотя бы как посмотреть версию
Тогда может что-нибудь прояснится
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2016, 00:53
Привет! Вот еще темы с ответами:

Как найти компонент на странице, чтобы работать с ним уже в WebBrowser-е - Delphi
допустим есть webrauser и два BUTTON , первый button для oneClick прописал wb1.navigate('url') это для перехода. получается , теперь...

WebBrowser Delphi - Delphi
Захожу на сайт, используя TWebbrowser. Авторизацию прохожу используя procedure TForm1.SpeedButton1Click(Sender: TObject); var i:integer; ...

Delphi компонент Webbrowser - Delphi
Всем привет! Создал маленький клиент, Использовал компонент TWebBrowser все нормально работает только некоторые клавиши не работают. Как...

Delphi. WebBrowser + Javascript - Delphi
Доброго времени суток! Мне нужен код который будет нажимать на кнопку запрограммированной на javascript через компонент WebBrowser или хотя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru