Phantomjs无法使用angularjs加载网页

时间:2016-10-12 08:46:44

标签: javascript phantomjs casperjs

我正在使用capserjs来测试我的应用程序。但问题是,身体没有加载,即渲染的<ng-Outlet>标签内没有标签/元素。任何等待时间都无济于事。不确定导致问题的原因。任何指针都会有所帮助。

casper.start('URL', function() {
    this.viewport(1300,750);
    this.waitForSelector('#user',function(){
        this.sendKeys('#user','username');
        this.sendKeys('#passwd','passwd');
        this.echo('All values are entered');
    },function(){},20000);
});

casper.thenEvaluate(function(){
    document.getElementById('sign_in').click();
});

casper.then(function(){
    this.wait(5000);
    this.captureSelector('InitialPage_1.png','body');
    this.echo(this.getCurrentUrl());
    this.waitForText("Trash",function(){
        this.captureSelector('InitialPage_2','html');
    }, function(){
        this.echo(this.getCurrentUrl());
        this.echo(this.getHTML());
    }, 15000);
});

casper.run();

注意:当我使用selenium运行带有chrome或FF驱动程序的同一页面时,它运行正常。

1 个答案:

答案 0 :(得分:0)

经验法则,当请求新资源(例如提交表单)时,总是使用等待 For ,并且该函数内部执行捕获选择器

url = 'http://**************/Lintel/Mongodb/mongodb-linux-x86_64-enterprise-suse12-3.2.6.tgz'
temp_dir = '/tmp/demo1'

fullfilename = os.path.join(temp_dir,'file.tgz')
# urllib.request in Python 3
file_tmp,http_message = urllib.urlretrieve(url,fullfilename)
base_name = os.path.basename(url)
file_name, file_extension = os.path.splitext(base_name)
tar = tarfile.open(file_tmp)

#print(tar.getmembers()[0:5])  # would print 5 first members of the archive

tar.extractall(os.path.join(temp_dir,file_name))
tar.close()

注意这里有几个问题,不知道你为什么使用评估和发送密钥,因为还有其他选择,但是嘿嘿