文件
phonerail/BOM/_src/fix.py
T

24 行
1.1 KiB
Python

import asyncio,json,re
import cdp
exec(open('visit.py',encoding='utf-8').read().split('async def main')[0])
FIX={'C43473':['0402 22.1K 1% 100个'],'C6186':['AMS1117-3.3'],'C2847671':['KF2510 直针 4P','【50只】'],
'C50951':['2.54mm_1*5P_直针_铜(10只)'],'C310998':['63V/2A(10只)'],'C5221288':['3.5MM 贴片式【20个】']}
D=json.load(open('cost_detail.json',encoding='utf-8'))
async def main():
ws=await cdp.open_ws()
for n,(k,skus) in enumerate(FIX.items()):
if n: await asyncio.sleep(30)
await cdp.send(ws,'Page.navigate',{'url':D[k]['url']})
for i in range(20):
await asyncio.sleep(1)
if await cdp.ev(ws,SKUJS): break
ok=[]
for s in skus:
ok.append(await cdp.ev(ws,'('+CLICK+')('+json.dumps(s)+')')); await asyncio.sleep(1.5)
txt=await cdp.ev(ws,'document.body.innerText') or ''
pr=parse_price(txt,D[k]['title'] or '')
D[k].update(chosen=skus,price=pr,fixed=True,click_ok=ok)
print(k,skus,ok,pr,flush=True)
json.dump(D,open('cost_detail.json','w',encoding='utf-8'),ensure_ascii=False,indent=1)
asyncio.run(main())