48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
from playwright.sync_api import sync_playwright
|
|
|
|
URL = "https://psy5mp.xinliyun.cn/"
|
|
ID_CARD = "410323200512060159"
|
|
PASSWORD = "000000"
|
|
|
|
LOGIN_ID_INPUT = "#van-field-1-input"
|
|
LOGIN_PWD_INPUT = "#van-field-2-input"
|
|
LOGIN_BTN = "#app > div > form > div.form-act > button"
|
|
|
|
PAPER_ENTRY = "#app > div > div.layout-content > div.van-cell.van-cell--center.van-cell--clickable > div"
|
|
PAPER_START = "#app > div > div.paper-desc > div.paper-act.van-safe-area-bottom > button"
|
|
|
|
FIRST_OPTION = "#app > div > div.paper-quiz-wrapper > div.paper-detail > div.van-radio-group > div > div:nth-child(1)"
|
|
|
|
|
|
def main() -> None:
|
|
with sync_playwright() as p:
|
|
browser = p.chromium.launch(headless=False)
|
|
page = browser.new_page()
|
|
|
|
page.goto(URL, wait_until="domcontentloaded")
|
|
|
|
# 登录
|
|
page.fill(LOGIN_ID_INPUT, ID_CARD)
|
|
page.fill(LOGIN_PWD_INPUT, PASSWORD)
|
|
page.click(LOGIN_BTN)
|
|
|
|
# 进入待测量表列表
|
|
page.wait_for_selector(PAPER_ENTRY)
|
|
page.click(PAPER_ENTRY)
|
|
|
|
# 进入测评介绍页并开始
|
|
page.wait_for_selector(PAPER_START)
|
|
page.click(PAPER_START)
|
|
|
|
# 连续选择第一个选项 90 次
|
|
for _ in range(90):
|
|
page.wait_for_selector(FIRST_OPTION)
|
|
page.click(FIRST_OPTION)
|
|
|
|
page.wait_for_timeout(1000)
|
|
browser.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|