С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
11 / 11 / 8
Регистрация: 26.03.2014
Сообщений: 400

Проверка установленного класса родителя из дочернего элемента в Delphi

28.02.2017, 14:19. Показов 1426. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
procedure TForm1.Button5Click(Sender: TObject);
  var CodeStr : string;
begin
      CodeStr := 'var g = document.getElementsByClassName("b-pager__next"); var t = g[0].parentNode; if (t.classList.contains("b-pager__inactive")) {alert("asd");} else {alert("fas");}';
      EmbeddedWB1.ExecScript(CodeStr,'JavaScript');
end;
В переменной CodeStr записан рабочий код, нужно результат проверки получить в делфи. это парсер для wordstat яндекса, проверка активна ли кнопка "далее".

В Chromium (раньше был установлен он, после переустановки установить его в Win10 не удалось) пользовался следующим кодом
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
procedure TForm1.Chromium1ConsoleMessage(Sender: TObject;
  const browser: ICefBrowser; message, source: ustring; line: Integer;
  out Result: Boolean);
begin
if AnsiCompareStr(Copy(message,0,2),'ku')=0 then
begin
if (f=true) then
begin
Label6.Caption:=floattostr(strtofloat(Copy(message,4,2))-3);
nm1:=strtoint(Label6.Caption)-1;
if Label6.Caption='0' then
Stage:=20;
f:=false;
end;
if nm1<0 then
  Stage:=20;
end
else if AnsiCompareStr(Copy(message,0,2),'tv')=0 then
begin
tv:=Copy(message,4,length(Message)-3);
Label19.Caption:=tv;
if AnsiCompareStr(tv,ComboBox1.Items[ComboBox1.ItemIndex])=0 then
begin
      if CheckBox3.Checked then
      Stage:=23
      else
      begin
      if CheckBox1.Checked then
      Stage:=3
      else
      Stage:=4;
      end;
end
else
begin
  Stage:=21;
end;
xBut.Click;
end
else if AnsiCompareStr(Copy(message,0,2),'kf')=0 then
begin
fio:=Copy(message,4,length(Message)-2);
Label5.Caption:=fio;
end;
end;
В который отправлял так
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.TakeValue;
  var CodeStr: string;
begin
  if Assigned(Chromium1.Browser) and Assigned(Chromium1.Browser.Mainframe) then
    begin
      CodeStr := 'var link = document.getElementById("ctl00_ContentPlaceHolder1_ddlJournalsList"); console.log("tv "+link.options[link.selectedIndex].text);';
      Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, 'about:blank', 0);
      Label8.Caption:='Проверка совпадения класса';
    end;
end;
Как сделать это в EmbeddedWB1
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2017, 14:19
Ответы с готовыми решениями:

Инициализация членов дочернего класса членами класса родителя
Есть уже созданный класс-родитель A. Как эффективно инициализировать дочерний класс B членами класса A?

Задачка для новичков #2: вывести в методе класса-родителя значение данных-членов из дочернего класса
Вдохновленный соседней темой тоже решил задать свой вопрос таким же начинающим программистам как и я :) Все кто хочет попробовать дать...

Как скопировать объект дочернего класса из динамической памяти в указатель родителя?
class Parent { }; class Child : public Parent { public: int x; }; int main() { Child* child = new Child(); ...

2
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
28.02.2017, 14:53
Что эта тема делает в разделе JS?
0
11 / 11 / 8
Регистрация: 26.03.2014
Сообщений: 400
28.02.2017, 16:16  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Что эта тема делает в разделе JS?
А куда ее, если здесь обрабатывается JS...

Добавлено через 3 минуты
Ну вообще, я вот тут подумал, можно наверно отправлять скрипт, в котором через скрипт жать кнопку "далее" или "подобрать"... тогда можно без ConsoleMessage, но если кто знает как сделать прослушку в EmbeddedWB1 буду рад

Добавлено через 25 минут
хотя нет, мне надо еще и переменную при это изменять в самой делфи...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.02.2017, 16:16
Помогаю со студенческими работами здесь

Как обратиться к свойствам родителя при обработке дочернего элемента?
Здравствуйте, подскажите как правильно и рационально реализовать задачу: На Форме имеется 5 Panel , на каждой из них по одному Label и DB...

Присвоение класса родителю в зависимости от класса дочернего элемента
Друзья, нужна Ваша помощь. Есть меню с такой структурой &lt;div class=&quot;bd-container-inner&quot;&gt; &lt;ul...

Проверка на существование дочернего элемента в xml
Здравствуйте. Можно ли при помощи SimpleXML проверить существует ли дочерний тег? Например есть XML документ: &lt;xml&gt; ...

Не срабатывает рендер у дочернего элемента дочернего элемента(не тавтология)
Не срабатывает рендер у дочернего элемента дочернего элемента(не тавтология) https://gitlab.com/Kir1/redux.git Ветка two-child При...

Смена родителя у дочернего контрола
Добрый день. Подскажите как сменить у контрола его родителя. Есть StackPanel в котрый программно вносятся дочерние элементы image. Мне...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru