У меня такая же ошибка (Parse Error, проблема с разбором пакета) при попытке установить пакет .apk из электронной почты. Я смог обойти эту проблему, установив установщик сторонних пакетов ApKatcher:
http://www.addictivetips.com/mobile/install-android-apps-from-gmail/
ApKatcher - не единственное решение. Мой коллега столкнулся с проблемой, установив Astro File Manager.
Вы можете найти оба приложения в Android Marketplace.
Если ваша цель - получить текст, вы можете обойти это с помощью JS на странице DOM.
Измените это:
const lis = await page.$(".data-table > tbody > tr > td");
const appInfo = await page.$("a.icon");
for (const content of lis) {
const name = await content.$("div.appname");
const gameName = await page.evaluate(name => name.innerText, name);
console.log("Game Name: ", gameName);
}
На это:
const appInfo = await page.$("a.icon");
const texts = await page.evaluate(() => {
const textsToReturn = [];
const elems = Array.from(document.querySelectorAll('.data-table > tbody > tr > td'));
for (const el of elems) {
textsToReturn.push(el.querySelector('div.appname').innerText)
}
// If I'm not mistaken, puppeteer doesn't allow to return complicated data structures, so we'll stringify
return JSON.stringify(textsToReturn)
})
// And here is your game names
console.log('Game names', JSON.parse(texts));
Примечание: этот код не был протестирован на реальной HTML-странице, так как нет примера. 113]
Но вы должны получить представление о том, как переопределить логику кукловода с помощью нативных методов DOM, чтобы достичь цели.