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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2014, 18:41   #1
Fordros
Пользователь
 
Регистрация: 26.06.2012
Сообщений: 89
По умолчанию Зависает процедура при вызове модального окна IE

Добрый вечер уважаемые!
Проблемка возникла при выполнении одной процедуры по парсингу в IE, а именно когда нажимаю на кнопку в браузере которая вызывает окно характера: "Вы точно хотите сделать то что делаете? ДА/НЕТ"... и тут макрос зависает, и эксель тоже... Если окно закрыть - макрос продолжает работать с места вызова этого же окна...
Как с этим бороться?
Fordros вне форума Ответить с цитированием
Старый 10.06.2014, 18:47   #2
gling
Форумчанин
 
Регистрация: 23.01.2010
Сообщений: 261
По умолчанию

Цитата:
Как с этим бороться?
Как это посмотреть?
gling вне форума Ответить с цитированием
Старый 11.06.2014, 14:50   #3
Fordros
Пользователь
 
Регистрация: 26.06.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от gling Посмотреть сообщение
Как это посмотреть?
не понял вопроса? посмотреть как зависает макрос?
З.Ы. вот кусочек кода:
Код:
...
 Set IE = CreateObject("InternetExplorer.Application")
...
URL_card = "http://pcard.fcbank.com.ua/issuing/issuing/cards.php?fhSerno=" & SerID3 & ""
IE.Navigate URL_card
While IE.Busy Or (IE.readyState <> 4): DoEvents: Wend

For Each x In IE.document.getElementsByTagName("a")
    If x.ClassName = "panel" And x.innerText = "Закрыть карту" Then 
        x.Click ' ------------------------- после выполнения этого шага появляется окошко и зависает макрос... 
'если окно закрыть или же выбрать один из вариантов ДА/НЕТ - окно пропадает и макрос начинает работать дальше с этого же места...
    End If
Next

Последний раз редактировалось Fordros; 11.06.2014 в 14:54. Причина: добавил кусочек кода
Fordros вне форума Ответить с цитированием
Старый 11.06.2014, 17:20   #4
kalbasiatka
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 208
По умолчанию

Цитата:
Сообщение от Fordros Посмотреть сообщение
не понял вопроса? [/CODE]
Был тонкий намёк на отсутствие файла.
Может "If x.ClassName = "panel" And x.innerText = "Закрыть карту" Then " не одна такая на странице?

Последний раз редактировалось kalbasiatka; 11.06.2014 в 17:23.
kalbasiatka вне форума Ответить с цитированием
Старый 12.06.2014, 10:24   #5
Fordros
Пользователь
 
Регистрация: 26.06.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от kalbasiatka Посмотреть сообщение
Был тонкий намёк на отсутствие файла.
Может "If x.ClassName = "panel" And x.innerText = "Закрыть карту" Then " не одна такая на странице?
Смысл вылаживать файл не вижу, так как парсинг ведется закрытого сайта и потестить не получится... Ссылка одна и она находится и нажимается, после чего выскакивает окно подтверждения закрытия карты и вот здесь макрос виснет без возможности поставить себя на паузу или же остановить, пока активно вышеупомянутое окно...

З.Ы. старожилы ветки молчат... видимо дело пахнет керосином...
Fordros вне форума Ответить с цитированием
Старый 12.06.2014, 16:52   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Сложно очень тут помочь вам...
Нет доступа к исходному коду страницы (надо смотреть, что за скрипты там срабатывают, и как это обойти)

Имеет смысл попробовать работать с сайтом через WinHTTPRequest - оправляя напрямую нужные запросы
(без браузера, - и, соответственно, без скриптов, отображающих диалоговые окна)

Или попробовать отключить скрипты в IE
EducatedFool вне форума Ответить с цитированием
Старый 13.06.2014, 12:17   #7
Fordros
Пользователь
 
Регистрация: 26.06.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Сложно очень тут помочь вам...
Нет доступа к исходному коду страницы (надо смотреть, что за скрипты там срабатывают, и как это обойти)
код чистого хтмл:
PHP код:
<TD vAlign=top noWrap><class=panel onclick="return clickCard('close_card')" href="">Закрыть карту</A></TD></TR></TD></TR
Цитата:
Имеет смысл попробовать работать с сайтом через WinHTTPRequest - оправляя напрямую нужные запросы
(без браузера, - и, соответственно, без скриптов, отображающих диалоговые окна)
Я уже пробовал работать средствами WinHTTPRequest, но сайт на протоколе https... Подробнее ЗДЕСЬ, может Вы чем-то поможете...
Цитата:
Или попробовать отключить скрипты в IE
делается для многих пользователей... не вариант...
Fordros вне форума Ответить с цитированием
Старый 13.06.2014, 14:17   #8
Fordros
Пользователь
 
Регистрация: 26.06.2012
Сообщений: 89
По умолчанию

вот код JS на который ссылается кнопка...
PHP код:
<SCRIPT language=javascript src="/jscript/pop_up_prompt.js"></SCRIPT>

<SCRIPT language=javascript>
var serno = "2194718", 
    cSupp = "0", 
    aserno = "2805551",
    mpa = "",
    n_card = "4146323111111111",
    o_form = d.MainForm; // объект формы для использования в JS-функциях


if (!(serno))
    showSearchCard();

/** Окно поиска основной карты */
function showSearchCard()
{
        var naSearch = showModalDialog('/issuing/includes/searchCard.inc.php?module=issuing', '', 'dialogHeight:575px; dialogWidth:850px; resizable:no; status:no');
    
    if (naSearch != null)
    {
        if (o_form.clSSnumberCheck) 
            o_form.clSSnumberCheck.checked = false;
        
        // перезагрузка формы (global o_form) с присвоением значений элементам из объекта значений 
        click_action({fhDSN:((naSearch.dsn != undefined) ? naSearch.dsn : ''), fhSerno:naSearch.card_serno, CardNumber:naSearch.number, fhMode:''}, ''); 
    }
    
    return false;

Fordros вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск модального окна при загрузке страницы AlexDn JavaScript, Ajax 4 03.05.2014 20:54
Закрытия модального окна при клики, в не этом окне. andrey_besp JavaScript, Ajax 5 18.02.2014 09:59
MySQL. Хранимая процедура зависает при выполнении lawliet93 SQL, базы данных 17 01.01.2013 20:55
Проблема при изменении модального окна на немодальное GrinderSam Win Api 1 03.12.2011 14:33
Мерцание модального окна при щелчке на родительское Vadik(R) Общие вопросы Delphi 11 14.10.2009 19:37