В моем тесте мне нужно дождаться загрузки страницы, прежде чем продолжить. waitForSelector
и waitForText
не работают по какой-либо причине, и хотя я могу просто использовать wait(value)
, мне придется учитывать, что сервер может быть медленным и сделать значение намного больше, чем хотелось бы; поэтому я думал о том, чтобы сделать цикл while, сообщающий системе ждать 500 миллисекунд каждый раз, когда он возвращает, что «someCSSpath» не существует на странице. Есть ли способ сделать это (возможно «casper.DoesntExist"?), Или лучше способ сделать это?Ожидание загрузки страницы в CasperJS
var css3path = "body > div.container-fluid > div:nth-child(3) > div.row.ng-scope > div:nth-child(1) > a > div";
casper.waitForSelector(css3path , function(){
this.test.assertExists(css3path);
if (casper.exists(css3path){
this.echo("logged in!");}
else{
this.echo("not logged in");
};
});
Когда я использую casper.wait(6000, function(){
вместо waitForSelector
, он отлично работает.
I использовать waitforselector раньше в том же формате, и это тоже работает, я думаю, что это определенная вещь, которую я ищу, это вызывает у меня проблемы.
Кроме того, когда я использую wait(6000,
, тест обнаруживает, что путь CSS3 просто прекрасен, это просто waitForSelector
, которые не могут найти его.
Это именно то, что 'waitForSelector()'. Вероятно, вы не используете его правильно. Пожалуйста, покажите свой код, что вы ожидаете, и что на самом деле происходит (включая сообщения об ошибках, описания снимков экрана). Чтобы быть в безопасности: зарегистрируйтесь на события 'resource.error',' page.error', 'remote.message' и' casper.page.onResourceTimeout' ([Пример] (https: //gist.github. ком/artjomb/4cf43d16ce50d8674fdf)). Возможно, есть ошибки. –
Вы уверены, что селектор CSS существует. Возможно, вы проверяете селектор CSS на рабочем столе, но PhantomJS загружает мобильный сайт, на котором нет такого селектора. –
Какую версию PhantomJS вы используете? В v1.x есть ошибка с: nth-child selectors –