Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.02.2015, 14:16
Новичок на форуме
Отправить личное сообщение для PP40 Посмотреть профиль Найти все сообщения от PP40
 
Регистрация: 09.02.2015
Сообщений: 5

Управляющие элементы JavaScript и Qt
Здравствуйте!
Имеется десктопное приложение, написанное с использованием библиотеки Qt (C++), приложение работает под Windows. В него входит браузер (QWebView), позволяющий загружать страницы и исполнять код JavaScript, который они содержат. Можно ли средствами Qt получить доступ к элементам управления JavaScript?
Конкретная задача в том, чтобы, после загрузки страницы веб-сервиса, автоматизировать навигацию и обработку данных, который выдает этот сервис, а также отправку данных назад. То есть, научить программу нажимать на JS-ссылки, вводить строчные данные в поля окон, создаваемых функциями JS (jQuery), нажимать на кнопки этих окон, и, главное, обнаруживать появление таких окон на экране.
Я не специалист по JS, а также не очень хорошо представляю себе иерархию QWebKit, поэтому не знаю, появляются ли эти элементы в виде объектов страницы, или нет.
Подскажите пожалуйста, как организовать взаимодействие с элементами JS веб-страницы из приложения. Возможно ли это в принципе?
Ответить с цитированием
  #2 (permalink)  
Старый 09.02.2015, 14:26
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

PP40, вопрос задан явно не на том форуме... На КюТи и спрашивай...

Последний раз редактировалось ksa, 09.02.2015 в 14:30.
Ответить с цитированием
  #3 (permalink)  
Старый 09.02.2015, 14:32
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

PP40, спроси у ТСа
Программный клик на не стандартной кнопке

Он решал аналогичную проблему и вроде как поборол ее!
Ответить с цитированием
  #4 (permalink)  
Старый 09.02.2015, 14:37
Новичок на форуме
Отправить личное сообщение для PP40 Посмотреть профиль Найти все сообщения от PP40
 
Регистрация: 09.02.2015
Сообщений: 5

> вопрос задан явно не на том форуме... На КюТи и спрашивай...

На форуме Qt мне ответили, что проблема может быть решена методом внедрения и исполнения собственных ф-ций JS на странице. Но не конкретизировали алгоритм внедрения и обнаружения окна JS на экране.

Т.к. речь идет все-таки об элементах управления JS, мне кажется, я по адресу, и на этом форуме должны найтись специалисты, понимающие проблему и желающие объяснить, как именно получить к доступ к элементам JS снаружи.

> Программный клик на не стандартной кнопке
> Он решал аналогичную проблему и вроде как поборол ее!

Спасибо, почитаю.

Последний раз редактировалось PP40, 09.02.2015 в 14:39.
Ответить с цитированием
  #5 (permalink)  
Старый 09.02.2015, 15:05
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от PP40
как именно получить к доступ к элементам JS снаружи
Так если ты не умеешь пользоваться своим компонентом как тебе помочь?
Ответить с цитированием
  #6 (permalink)  
Старый 09.02.2015, 15:09
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от PP40
не очень хорошо представляю себе иерархию QWebKit
Без понимания принципа работы этого компонента х/з как тебе помочь...

Вот смотри...
Ты даешь нам пример хтмэля, рассказываешь, что хочешь с ним сделать... Мы показываем как можно это сделать на js, так? как будто бы этот код был уже на странице...

Ты, имея это, сможешь аналогичное реализовать на своем компоненте?
Ответить с цитированием
  #7 (permalink)  
Старый 09.02.2015, 15:17
Новичок на форуме
Отправить личное сообщение для PP40 Посмотреть профиль Найти все сообщения от PP40
 
Регистрация: 09.02.2015
Сообщений: 5

> Так если ты не умеешь пользоваться своим компонентом как тебе помочь?

Что я умею, а что не умею, к делу не относится.
Вопрос в том, как представлены окна JS в иерархии браузера (к которым может получить доступ любая технология). Если я спрошу, например, как получить доступ к элементу списка, или к полю в таблице, вопросов о моей квалификации, вероятно, не возникнет? Мы говорим о вещах, которые очевидно представлены.
Мне нужна информация об окнах, которые выкидывают функции javascript: эти окна, в момент их активности, где-то представлены, или нет? А их компоненты - кнопки для нажатия, поля для ввода - доступны только в ручном режиме? Если эти окна генерирует интерпретатор JS, он их где-то фиксирует, или они видны только на странице браузера и в недрах интерпретатора?
Ответить с цитированием
  #8 (permalink)  
Старый 09.02.2015, 15:39
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от PP40
Что я умею, а что не умею, к делу не относится.
Тебе видней...
Сообщение от PP40
Мне нужна информация об окнах, которые выкидывают функции javascript: эти окна, в момент их активности, где-то представлены, или нет? А их компоненты - кнопки для нажатия, поля для ввода - доступны только в ручном режиме? Если эти окна генерирует интерпретатор JS, он их где-то фиксирует, или они видны только на странице браузера и в недрах интерпретатора?
Все, что ты видишь на странице - это элементы ДОМ-модели... Некий хтмл, который вот так интерпретировал браузер и показал тебе...

JavaScript умеет манипулировать этими элементами ДОМ...
Ответить с цитированием
  #9 (permalink)  
Старый 09.02.2015, 16:20
Новичок на форуме
Отправить личное сообщение для PP40 Посмотреть профиль Найти все сообщения от PP40
 
Регистрация: 09.02.2015
Сообщений: 5

> Все, что ты видишь на странице - это элементы ДОМ-модели... Некий хтмл, который вот так интерпретировал браузер и показал тебе... JavaScript умеет манипулировать этими элементами ДОМ...

Это как-то относится к теме и заданному в ней вопросу? Знаю, что такое DOM, и что при помощи JS можно манипулировать элементами. Доступ к иерархии DOM реализован и в Qt. Мне нужен доступ к результатам работы функции JS - к кнопкам, которые содержат диалоговые окна JS, к полям ввода, и к информации, появилось ли окно на экране. Хочу выяснить, где это все находится. Я достаточно хорошо разжевал вопрос, или надо еще раз вокруг клумбы?...
Ответить с цитированием
  #10 (permalink)  
Старый 09.02.2015, 16:23
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от PP40
Знаю, что такое DOM, и что при помощи JS можно манипулировать элементами.
...
Я достаточно хорошо разжевал вопрос, или надо еще раз вокруг клумбы?
Значит пора тебе решить свою проблему самостоятельно...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34