初めてAPKファイルをGoogle Playにアップロードするスクリプトを作成する必要があります(APIは、最初のバージョンの公開後にAPKをアップロードすることしかできません)。CasperJSを使用してGoogle PlayにAPKファイルをアップロードする
var fs = require('fs');
var data = fs.read('test.cookies');
phantom.cookies = JSON.parse(data);
var x = require('casper').selectXPath;
var casper = require('casper').create({
//verbose: true,
//logLevel: 'debug',
stepTimeout: 60000,
pageSettings: {
loadImages: false,
loadPlugins: false,
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4'
}
});
casper.start().thenOpen('https://play.google.com/apps/publish/?dev_acc=14088528817615018970', function() {
if (this.getCurrentUrl().indexOf('accounts.google.com') == -1) {
// cookies working
this.bypass(3);
} else {
console.log('sign in page opened!')
}
});
casper.then(function() {
console.log('populating form with email');
this.evaluate(function() {
document.querySelector('input#Email').value = "[email protected]";
document.querySelector('input#next').click();
});
})
casper.waitForSelector("input#Email-hidden", function() {
console.log('populating form with password');
this.evaluate(function() {
document.querySelector('input#Passwd').value = "passwd";
document.querySelector('input#signIn').click();
});
})
//Wait to be redirected to the Home page, and then make a screenshot
casper.then(function(){
console.log(this.getCurrentUrl());
var cookies = JSON.stringify(phantom.cookies);
fs.write('test.cookies', cookies, 644);
});
// Google play page
casper.then(function() {
console.log('Current page: ' + this.getCurrentUrl());
});
casper.waitForSelector(".BVO4BTD-b-a.BVO4BTD-b-o.BVO4BTD-Be-a", function() {
console.log('Add new app');
this.evaluate(function() {
document.querySelector('.BVO4BTD-b-a.BVO4BTD-b-o.BVO4BTD-Be-a').click();
});
});
casper.waitForSelector(".BVO4BTD-hj-a", function() {
console.log('Filling form');
this.capture('5.png',{
top: 0,
left: 0,
width: 500,
height: 400
});
this.evaluate(function() {
document.querySelector('.BVO4BTD-hj-a > input.gwt-TextBox').value = "App Teste";
document.querySelector('.BVO4BTD-g-K .BVO4BTD-b-a.BVO4BTD-b-o').click();
});
});
casper.waitForSelector(".BVO4BTD-gg-a .BVO4BTD-b-a.BVO4BTD-b-o", function() {
this.capture('6.png',{
top: 0,
left: 0,
width: 500,
height: 400
});
console.log('Current page: ' + this.getCurrentUrl());
console.log('Click for app upload');
this.evaluate(function() {
document.querySelector(".BVO4BTD-gg-a .BVO4BTD-b-a.BVO4BTD-b-o").click();
});
});
casper.waitForSelector(".BVO4BTD-Re-b.BVO4BTD-g-U.BVO4BTD-d-b", function() {
this.capture('7.png',{
top: 0,
left: 0,
width: 500,
height: 400
});
/**/
this.evaluate(function() {
document.querySelector(".BVO4BTD-Re-b.BVO4BTD-g-U.BVO4BTD-d-b .BVO4BTD-b-a.BVO4BTD-b-m").click();
casper.page.uploadFile(".BVO4BTD-Re-b.BVO4BTD-g-U.BVO4BTD-d-b input[type=file]", '/path/to/apk/file.apk');
});
this.wait(3000, function() {
this.capture('8.png',{
top: 0,
left: 0,
width: 500,
height: 400
});
});
});
casper.run(function() {
console.log('end');
});
これらの手順は、すでに仕事:Googleの
- サインここ
は、私がこれまでしているスクリプトです
App Teste
- アップロード先APK画面
アップロードスクリプトを機能させることができません.Google Playのアップロードメカニズムの背後には多くのjavascriptがあります。
アップロードの試行は、最後のwaitForSelector
セクションで行われます。
ありがとうございます。
'evaluate'がサンドボックスです。その中に 'casper'を使うことはできません。 –
私は同じことをしようとしています、そして私は同じ問題を抱えています。私のアップロードは0%でハングアップします。 –