Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2014, 19:06   #1
royalfint
Пользователь
 
Регистрация: 11.11.2014
Сообщений: 22
Радость Awesomium и JS

Всем привет! работаю с Awesomium на Visual studio 2010 C++. Не могу внедрить в загруженную страницу JS и запустить его чтобы авторизоваться на сайте. перечитал кучу документации и форумов. заметил то что в плане документации дотнетчикам повезло больше. нашел некоторые открывки функций нужных мне но собрать все вместе не удалось. Прошу помочь...

Всем заранее спасибо!
royalfint вне форума Ответить с цитированием
Старый 15.11.2014, 19:10   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Чем помочь-то? В чем проблема? Там ж есть методы ExecuteJavascript, ExecuteJavascriptWithResult.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 15.11.2014, 19:18   #3
royalfint
Пользователь
 
Регистрация: 11.11.2014
Сообщений: 22
По умолчанию

я пробовал использовать webview-> ExecuteJavaScript(WSlit("document.b ody.color='red';"),WSlit("")); но почему то какой бы я скрипт не писал то он никак не работал. во всем sampl'ах которые я видел то они не использовали WSlit а визуал студио ругается и еще они не заполняли второй параметр а там как я понял поток в который нужно вставлять скрипт. возможно дело в нем. но почему то у меня не работает
royalfint вне форума Ответить с цитированием
Старый 15.11.2014, 19:26   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Попробуйте лучше какой-нибудь alert('1') вместо цвета, тем более он так даже в браузере не поменяется (тестить JS можно в консоли любого браузера).

Цитата:
еще они не заполняли второй параметр а там как я понял поток в который нужно вставлять скрипт. возможно дело в нем.
Нет, там XPath для поиска iframe, для выполнения кода в нем. Скорее всего оно вам не нужно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 15.11.2014 в 19:30.
Alex11223 вне форума Ответить с цитированием
Старый 15.11.2014, 19:29   #5
royalfint
Пользователь
 
Регистрация: 11.11.2014
Сообщений: 22
По умолчанию

alert использовал в самый первый раз, но дело в том что ядро awesomium объявлено как offscrened и браузер не отображается, и страницы загружаю именно в нем и скрипты подгружаю туда же. консоль не вижу
royalfint вне форума Ответить с цитированием
Старый 15.11.2014, 19:38   #6
royalfint
Пользователь
 
Регистрация: 11.11.2014
Сообщений: 22
По умолчанию

и еще раз пробовал...
Цитата:
//MAIN LOOP
void WebContoller::mainLoop()
{
if(status==1)
{
if (view->IsLoading())
{
web_core->Update();
}
else
{
Sleep(300);
web_core->Update();
view->Focus();
//view->ExecuteJavascript(WSLit("alert('sd fgsfgfd');"),WSLit(""));

//JSValue window = view->ExecuteJavascriptWithResult(WSLit( "window"), WSLit(""));

/*if (window.IsObject()) {
JSArray a;
window.ToObject().Invoke(WSLit("add ChatMessage"),a);
}*/

view->ExecuteJavascript(WSLit("alert('da sfadfa');"),WSLit(""));

Sleep(5000);

BitmapSurface* surface = (BitmapSurface*)view->surface();

if (surface != 0) {
surface->SaveToJPEG(WSLit("./result.jpg"));
}

load();
}
}
}
royalfint вне форума Ответить с цитированием
Старый 15.11.2014, 19:45   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

алерт не в консоли, но его наверно и правда не будет видно. Консоль в обычных браузерах, например, Chrome, туда можно вставить любой JS и проверить корректен ли он.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 15.11.2014, 19:52   #8
royalfint
Пользователь
 
Регистрация: 11.11.2014
Сообщений: 22
По умолчанию

Я писал и на php и на js, C#, python, delphi и знаю что алерт не в консоли))) просто консоли нет так бы было легче
royalfint вне форума Ответить с цитированием
Старый 15.11.2014, 19:54   #9
royalfint
Пользователь
 
Регистрация: 11.11.2014
Сообщений: 22
По умолчанию

дело не в js. js корректен. дело в вызове функции. что то я видимо не так делаю
royalfint вне форума Ответить с цитированием
Старый 15.11.2014, 19:59   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Консоль там, кстати, есть.
У WebCore при инициализации в WebConfig надо указать RemoteDebuggingPort и потом в любом браузере открыть localhost:порт. По крайней мере так в .NET.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
полная загрузка страницы (awesomium ) Soulyou12 C# (си шарп) 5 01.06.2015 18:30
Два потока с Qt, Awesomium и C++ royalfint Visual C++ 8 11.11.2014 16:33
Awesomium WebView Dispose() Медиа не прекращает работать JunkieBeat C# (си шарп) 0 24.05.2014 00:01
Awesomium и Frame coNsept Общие вопросы .NET 0 02.05.2014 12:43
WPF-WebBrowser Awesomium - Прекращение работы приложения valkiriy C# (си шарп) 5 09.04.2013 13:47