У меня есть iframe на моей странице, которая появляется, чтобы пользователь мог вставить некоторые данные на родительскую страницу. Когда пользователь нажимает кнопку «Добавить» в фрейме, он вызывает родительскую функцию, чтобы закрыть фрейм и вставить данные.CasperJS Закрытие iframe/Scripting parent from iframe
Casper может найти кнопку «Добавить» в кадре, но когда я нажимаю на нее, ничего не происходит. Честно говоря, я делаю это правильно. Возможно, ошибка/не поддерживается Phantom?
Код:
casper.withFrame(0,function() {
this.waitForSelector('.button[name="add button"]');
});
casper.withFrame(0,function() {
this.click('.button[name="add button"]');
});
casper.wait(1000);
casper.then(function() {
this.capture('capture.png');
});
capture.png показывает кадр все еще открыт, но если я выполняю действие себя в Chrome, рамка закрывается правильно.
Пожалуйста, зарегистрируйтесь на ['resource.error'] (http://docs.casperjs.org/en/latest/events-filters.html#resource-error), [' casper.page.onResourceTimeout'] (http://phantomjs.org/api/webpage/handler/on-resource-timeout.html), ['remote.message'] (http://docs.casperjs.org/en/latest/events-filters.html # remote-message) и ['page.error'] (http://docs.casperjs.org/ru/latest/events-filters.html#page-error) события. Возможно, есть ошибки. –
Ошибки с вышеуказанным кодом отсутствуют. Единственное, что не так, так это то, что мой JS, который закрывает фрейм, кажется, не выполняется, когда кнопка нажата через casper. – bluemoonballoon
Вы пытались запустить его с помощью '--web-security = false'? –