Readding Files

This commit is contained in:
kiyreload27
2025-12-28 17:11:39 +00:00
parent 72dfc34893
commit 4b944c1a53
1045 changed files with 4793 additions and 0 deletions

87
test_scraper.py Normal file
View File

@@ -0,0 +1,87 @@
"""Quick test of the fixed level navigation"""
import os
import sys
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from playwright.sync_api import sync_playwright
URL = "https://gametora.com/umamusume/supports/30022-mejiro-mcqueen"
def test_levels():
print("Testing fixed level navigation...")
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
page.goto(URL, timeout=60000)
page.wait_for_load_state("networkidle")
page.wait_for_timeout(2000)
for target in [1, 25, 40, 50]:
actual = page.evaluate("""
async (targetLevel) => {
const getLevel = () => {
const el = Array.from(document.querySelectorAll('div')).find(d =>
d.textContent.trim().startsWith('Level ') && d.children.length === 0
);
if (!el) {
const text = document.body.innerText;
const match = text.match(/Level\\s*(\\d+)/i);
return match ? parseInt(match[1]) : 30;
}
return parseInt(el.textContent.replace('Level ', '').trim());
};
const clickButton = (text) => {
const btns = Array.from(document.querySelectorAll('div'));
const btn = btns.find(d => d.textContent.trim() === text && d.children.length === 0);
if (btn) {
btn.click();
return true;
}
return false;
};
let currentLevel = getLevel();
while (currentLevel !== targetLevel) {
let btnText;
if (currentLevel > targetLevel) {
const diff = currentLevel - targetLevel;
btnText = diff >= 5 ? '-5' : '-1';
} else {
const diff = targetLevel - currentLevel;
btnText = diff >= 5 ? '+5' : '+1';
}
if (!clickButton(btnText)) break;
const startLevel = currentLevel;
let start = Date.now();
while (Date.now() - start < 1000) {
await new Promise(r => setTimeout(r, 50));
const newLevel = getLevel();
if (newLevel !== startLevel) {
currentLevel = newLevel;
break;
}
}
if (currentLevel === startLevel) break;
}
await new Promise(r => setTimeout(r, 200));
return getLevel();
}
""", target)
status = "" if actual == target else ""
print(f"Target: {target} -> Actual: {actual} {status}")
browser.close()
print("Done!")
if __name__ == "__main__":
test_levels()