Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi и сети
Войти
Регистрация
Восстановить пароль
 
grigandal1580
5 / 4 / 3
Регистрация: 16.01.2016
Сообщений: 233
#1

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

13.12.2016, 15:41. Просмотров 458. Ответов 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
Программисты помогите нажать на &quot;Кнопу&quot; вот сайм сайт...

WebBrowser. Нажать на кнопку ВКонтакте
Здравствуйте, форумчане! С вашей помощью мне нужно программно нажать на кнопку...

Как в webbrowser нажать на div?
Уменя вопрос Как в webbrowser нажать на div? Вот пример кода html &lt;a...

WebBrowser как нажать кнопку?
&lt;input type=&quot;submit&quot; class=&quot;loginbutton&quot; tabindex=&quot;104&quot; value=&quot;Log in&quot;...

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

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

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

Многократное заполнение полей на одной странице в webbrowser
Имеется вот приблизительно такой вот код: ...

Как найти компонент на странице, чтобы работать с ним уже в WebBrowser-е
допустим есть webrauser и два BUTTON , первый button для oneClick прописал...

WebBrowser Delphi
Захожу на сайт, используя TWebbrowser. Авторизацию прохожу используя procedure...

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


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

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

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