Di9
@Di9

Не срабатывает клик в vk.com через casperjs, что не так?

Добрый день!
Пробую достаточно простую операцию - поменять настройки уведомления на почту для аккаунта вконтакте через casperJS, следующий код (фрагмент):
casper.open('https://vk.com/settings?act=notify').then( function() {
        casper.wait ('5000', function () {
            this.clickLabel('Every time', 'a');
            this.clickLabel('Don\'t send', 'div');
        })

        this.capture('vk.png');

собственно открываю страницу, нажимаю на кнопку изменения кол-ва уведомления на почту, выбираю никогда, делаю скрин.

Смотрю скрин - все ок, выбран нужный пункт.
Проверяю аккаунт - настройка не применилась...

Пробовал нажимать по-разному, и по классу кнопки и по ID, результат один и тот-же.
В процессе отладки иногда получалось добиться нужного результата, но потом все-равно терпел неудачу. Что может быть проблемой ума не приложу, так как все операции очень простые. Грешу на тайм-аут, последовательность действий.

Если есть другие варианты простой автоматации этой задачи, готов рассмотреть и их.
  • Вопрос задан
  • 312 просмотров
Решения вопроса 1
@Xvlad
Начинающий кодер :)
С такими инструментами обычно проблема с таймаутами и последовательностью исполнение, попытайтесь поиграть с таймаутами, ставить между действиями таймаут, должно получиться.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rou1997
@Rou1997
А разве не нужно делать Submit кнопкой "Сохранить" и т.п.?
Если нет - значит, там сразу при нажатии должен отправляться HTTP-запрос, вот с помощью сниффера вроде Fiddler смотрите отправляется ли, какой приходит ответ, в чем проблема, собственно используя сниффер можно и без всяких Casper.js решить задачу методом имитации HTTP-запросов на любом языке, а без сниффера вы не полноценно подходите к задаче, общих навыков отладки (пользоваться stacktrace, "хуками" на XMLHttpRequest и т.п.) у вас тоже нету, нужно их обрести, тогда все станет прозрачно и не будет таких глупых вопросов а без них такое программирование тоже не полноценно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы