monadscore_query.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. from playwright.sync_api import sync_playwright
  2. import time
  3. def get_wallet_detail(wallet_address: str, page):
  4. # 定义输入框和按钮的选择器
  5. input_selector = '#root > div > div > div.min-h-screen.overflow-hidden.sm\\:ml-0 > div:nth-child(3) > div > div > div.flex.flex-col.space-y-4 > input'
  6. button_selector = '#root > div > div > div.min-h-screen.overflow-hidden.sm\\:ml-0 > div:nth-child(3) > div > div > div.flex.flex-col.space-y-4 > button.px-4.py-2.text-white.font-semibold.rounded-md.bg-purple-600.cursor-pointer.hover\\:bg-purple-700'
  7. try:
  8. # 等待输入框出现并确保其可交互
  9. page.wait_for_selector(input_selector, state='visible', timeout=10000)
  10. # 清除输入框内容(如果有默认值)
  11. page.fill(input_selector, '')
  12. # 填入钱包地址
  13. page.fill(input_selector, wallet_address)
  14. # 等待按钮出现并确保其可点击
  15. page.wait_for_selector(button_selector, state='visible', timeout=10000)
  16. # 点击按钮
  17. page.click(button_selector)
  18. except Exception as e:
  19. print(f"查询钱包 {wallet_address} 时出错: {str(e)}")
  20. def run():
  21. with sync_playwright() as p:
  22. # 启动一个 Chromium 浏览器,headless=False 确保可见
  23. browser = p.chromium.launch(
  24. headless=False,
  25. args=["--start-maximized"]
  26. )
  27. wallet_list = [
  28. '0xe50B77Cd771243b8Ae1d6ce33b4E13ECC5Fa28a6',
  29. '0x9ea2ECAD4090E32916e03b77d7C75CbF6C8E0A55',
  30. '0xE8A4b0C04300154DC9B1D0e565Ba70F996614690',
  31. '0x1b623c5d70c93b437d93c305bf2cfa389095f636',
  32. '0x06D25c3e0E1F753ac0486a3f8aaD7259149656cB',
  33. '0x15cFEE34Ca4541CAc9a1c4B6F6aB47A65877E240',
  34. '0x7aBF0dA8Ac07B6dE7206e467988455E1AD0b60B5',
  35. '0xF736f45d4663a8D8DfF7EFA55b1Cf6Fe38D026c8',
  36. '0x83173eECf3a6d9ABB79682568e16c2eAd361620e',
  37. '0xa401b85B4849Fc7610Bd180cc937859C78528F47',
  38. '0x10A43E7Fe77E2D84adBeC26cF0bFc6f403841266',
  39. '0x70D5EE1DfddD3726f0D71F4CD5a8ef43aC651a75'
  40. ]
  41. context = browser.new_context(no_viewport=True)
  42. for i, wallet in enumerate(wallet_list):
  43. page = context.new_page()
  44. page.goto("https://repute.monadscore.xyz/")
  45. print(f"已打开第 {i + 1} 个标签页")
  46. time.sleep(1)
  47. page.add_style_tag(content="body { transform: scale(0.8);}")
  48. print(f'正在查询钱包 {i} : {wallet}')
  49. get_wallet_detail(wallet, page)
  50. time.sleep(3600)
  51. context.close()
  52. browser.close()
  53. def main():
  54. while True:
  55. run()
  56. time.sleep(5)
  57. if __name__ == "__main__":
  58. main()