Skip to content

Commit 891a840

Browse files
committed
Add logs for github action
1 parent e620393 commit 891a840

4 files changed

Lines changed: 357 additions & 12 deletions

File tree

.github/workflows/update.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77

88
jobs:
99
update:
10-
runs-on: ubuntu-latest
10+
runs-on: windows-latest
1111

1212
steps:
1313
- name: Checkout repo

index.js

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,46 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth';
33
import {create} from 'xmlbuilder2';
44
import {XMLParser} from 'fast-xml-parser';
55
import fs from 'fs';
6+
import {executablePath} from "puppeteer";
67

7-
puppeteer.use(StealthPlugin());
8+
const puppeteerStealth = StealthPlugin();
9+
puppeteerStealth.enabledEvasions.delete('user-agent-override');
10+
puppeteer.use(puppeteerStealth);
811

912
const URL = 'https://apkpure.com/android-device-policy/com.google.android.apps.work.clouddpc/versions';
1013

1114
(async () => {
1215
console.log('Launching browser...');
13-
const browser = await puppeteer.launch({headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox']});
16+
const browser = await puppeteer.launch({
17+
executablePath: executablePath(),
18+
readTimeout: 5 * 60 * 1000,
19+
headless: true,
20+
args: [
21+
'--no-sandbox',
22+
'--disable-notifications',
23+
'--disable-dev-shm-usage',
24+
],
25+
});
1426
console.log('Browser launched');
1527

1628
let versions = [];
17-
let page
18-
29+
const page = await browser.newPage();
1930
try {
20-
page = await browser.newPage();
21-
await page.goto(URL, { waitUntil: 'networkidle2' });
31+
await page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36')
32+
33+
const URL = 'https://apkpure.com/android-device-policy/com.google.android.apps.work.clouddpc/versions';
34+
35+
await page.goto(URL, { waitUntil: 'domcontentloaded' });
36+
2237
console.log('✅ Page loaded');
2338

39+
await page.waitForFunction(() => {
40+
return !document.querySelector('form#challenge-form, .cf-browser-verification') &&
41+
!/Attention Required/.test(document.title);
42+
}, { timeout: 20000 }).catch(() => {
43+
throw new Error('❌ Cloudflare challenge did not resolve in time');
44+
});
45+
2446
versions = await page.evaluate(() => {
2547
const items = document.querySelectorAll('li a.ver_download_link');
2648
const result = [];
@@ -55,6 +77,7 @@ const URL = 'https://apkpure.com/android-device-policy/com.google.android.apps.w
5577
await page.screenshot({ path: 'screenshot.png', fullPage: true });
5678

5779
console.log('📝 Saved debug.html and screenshot.png to docs/');
80+
process.exit(0);
5881
}
5982

6083
if (versions.length) console.log(`✅ Scraped ${versions.length} versions`);

0 commit comments

Comments
 (0)