Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Awesomium and JavaScript (https://javascript.ru/forum/css-html/65197-awesomium-javascript.html)

proger 03.10.2016 15:00

Awesomium and JavaScript
 
Пишу программу авторизацию на сайте на C#. javascript можно сказать вообще не знаю. Задача такая: Через браузер Awesomium по ссылке перехожу Войти, есть форма input'ы Логин и пароль, но submit сделан как ссылка типа <a data:click:submit и т.п.>Войти</a>, то есть симулирую нажатие на нее, но ни чего не происходит пишет {undefined}. Короче с кнопкой только проблема, тексты вставляет нормально. Делал так:
dynamic button = ( JSObject ) wc.ExecuteJavascriptWithResult( "document.getElementsByTagName('a').click()" );
dynamic button = ( JSObject ) wc.ExecuteJavascriptWithResult( "document.getElementsByTagName('a').submit()" );

И ни чего не происходит, пишет undefined.
Делаю так:
for ( int j = 0; j < button.length; j++ )
{

      if ( button[j].title == "Войти" )
      {
             button[j].click();
             break;
       }
}

Кнопка нажимается, но пишет введите логин и пароль, хотя поля заполнены.

рони 03.10.2016 15:22

Цитата:

Сообщение от proger
getElementsByTagName

список!!! нужен индекс
document.getElementsByTagName('a')[0].click()

Rise 03.10.2016 15:34

proger, форму покажи... это data:click:submit что за фантазия... ссылка типа MIME только бывает... submit это событие формы и тип кнопок, которые это событие на этой форме вызывают... ссылка не есть кнопка...

proger 03.10.2016 17:07

Цитата:

Сообщение от Rise (Сообщение 430575)
proger, форму покажи... это data:click:submit что за фантазия... ссылка типа MIME только бывает... submit событие формы и тип кнопок...

<form class="page-message_content media-block" action="" data-bind="submit: onRedeemClicked">
<div data-bind="css: hasError" class="form-row"><div class="form-input-block">
<div class="form-input-block_column">
<input class="form-inputtext" type="text" placeholder="Login" data-bind="textInput:Login, hasFocus: true">

<div class="form-input-block_column form-input-block_column__addon">
<!-- ko component: { name: 'button-base', params: { text: 'Войти', modificators: ['button button__inline'], onClick: onRedeemClicked, waiting: isWaitingRedeemResponse(), } } -->
<!-- /ko -->
</div>
</div>
<a data-bind=" css: modificators, click: onButtonClicked, buttonWaiting: {waiting: waiting, isSpinnerDeactivated: isSpinnerDeactivated}, attr: {title: hint, href: link, id: id}, event: { mouseover: onMouseOver.bind($component), mouseout: onMouseOut.bind($component) }, style: { visibility: visible() ? '' : 'hidden' } " class="button button__inline" title="Войти"><span class="js-shop-button-icon" data-bind="if: iconClass, css: iconCss"></span><!-- ko text: label -->Войти<!-- /ko --></a>
</div>
</div>
</form>

Rise 03.10.2016 17:32

proger, это Knockout.js как я понял... стоило бы указать это в теме... может найдутся знающие эту библиотеку...

Rise 03.10.2016 17:42

Rise, раздел где Библиотеки/Тулкиты/Фреймворки

proger 03.10.2016 17:48

Цитата:

Сообщение от Rise (Сообщение 430596)

Спасибо, почитаю. Я забыл сказать что у меня нет конкретного сайта, над которым работаю, просто решил совместить C# и JavaScript, поэтому сайты разные брал, где кнопка есть, там все хорошо отрабатывает, а где вот такая ерунда, ни чего не обрабатывает


Часовой пояс GMT +3, время: 18:49.