湖南教育综合评审系统自动审核脚本

Created 4 months ago
Updated 4 months ago
自动获取学生列表并进行批量审核,支持iframe架构,支持延迟操作避免请求过快
#数据审核
#批量操作
#iframe管理
#自动化工具
Statistics
Total Installs
32
Last 24h
+0
User Rating
-
自动完成湖南教育综合评审系统的学生审核
<html lang="en"

data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true"

<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-ac2f4b33720c6312.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-bb3e7caff8347285.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-e7276ff9ba0dc008.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-dd65f23f346b226a.css" />
ZhpjHelper/README.md at main · WekyJay/ZhpjHelper · GitHub
<meta name="hovercard-subject-tag" content="repository:1195938810" data-turbo-transient>
<meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I">
<meta name="user-login" content="">



<meta name="viewport" content="width=device-width">



  <meta name="description" content="本脚本无任何数据分享等行为,仅用于方便教师审核工作。. Contribute to WekyJay/ZhpjHelper development by creating an account on GitHub.">

  <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">

<link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
<meta property="fb:app_id" content="1401488693436528">
<meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/WekyJay/ZhpjHelper/blob/main/README.md" />

  <meta name="twitter:image" content="https://opengraph.githubassets.com/d054c4dcd2dec57834ee86f5fde5f9382b0646d709569504009918a0b6480c30/WekyJay/ZhpjHelper" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="ZhpjHelper/README.md at main · WekyJay/ZhpjHelper" /><meta name="twitter:description" content="本脚本无任何数据分享等行为,仅用于方便教师审核工作。. Contribute to WekyJay/ZhpjHelper development by creating an account on GitHub." />
  <meta name="hostname" content="github.com">



    <meta name="expected-hostname" content="github.com">
  <meta name="turbo-cache-control" content="no-cache" data-turbo-transient>

<meta data-hydrostats="publish">
<meta name="turbo-body-classes" content="logged-out env-production page-responsive">
<meta name="release" content="d2d913dd727d2d7ac189fb4d05b10bc34ecd03ee" data-turbo-track="reload">
<div class="position-relative header-wrapper js-header-wrapper ">
  <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 tmp-py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>

  <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
<span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>

<react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" data-react-profiling="false"

Navigation Menu

Toggle navigation
  <a class="tmp-mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav"
    href="/"
    aria-label="Homepage"
    data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}">
    <svg height="32" aria-hidden="true" data-component="Octicon" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github">
<path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path>
  <div class="d-flex flex-1 flex-order-2 text-right d-lg-none gap-2 flex-justify-end">
      <a
        href="/login?return_to=https%3A%2F%2Fgithub.com%2FWekyJay%2FZhpjHelper%2Fblob%2Fmain%2FREADME.md"
        class="HeaderMenu-link HeaderMenu-button d-inline-flex f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav"
        data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/WekyJay/ZhpjHelper/blob/main/README.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a103f5f2751b1502f31997d3c38665b562bda8686b3f0d31d1ef2158c021b367"
        data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}"
      >
        Sign in
      </a>
          <div class="AppHeader-appearanceSettings">
<react-partial-anchor>
  <button data-target="react-partial-anchor.anchor" id="icon-button-90a04ed8-c8e8-4ebc-ac3d-28acebf5c520" aria-labelledby="tooltip-9dfe9e37-d0fc-4a8a-85f9-524191965c1e" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait">  <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual">
<path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path>
Appearance settings
  <template data-target="react-partial-anchor.template">
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.d7823aa20598252a.module.css" />

<react-partial partial-name="appearance-settings" data-ssr="false" data-attempted-ssr="false" data-react-profiling="false"

  </template>
</react-partial-anchor>
  </div>
</div>


<div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0">
  <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0">
      <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.d7823aa20598252a.module.css" />

<react-partial partial-name="marketing-navigation" data-ssr="true" data-attempted-ssr="true" data-react-profiling="false"

    <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center tmp-mt-3 tmp-mt-lg-0 text-lg-left tmp-ml-lg-3">
            
Search or jump to...
<input type="hidden" name="type" class="js-site-search-type-field">

Search code, repositories, users, issues, pull requests...

      <div data-view-component="true">        <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container"
      style="border-radius: 12px;"
      data-target="qbsearch-input.queryBuilderContainer"
      hidden
    >
      <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get">
Search
Clear
      </span>
  </div>
  <template id="search-icon">
    <div class="position-relative">
                    <ul
          role="listbox"
          class="ActionListWrap QueryBuilder-ListWrap"
          aria-label="Suggestions"
          data-action="
            combobox-commit:query-builder#comboboxCommit
            mousedown:query-builder#resultsMousedown
          "
          data-target="query-builder.resultsList"
          data-persist-list=false
          id="query-builder-test-results"
          tabindex="-1"
        ></ul>

    </div>
  <div class="FormControl-inlineValidation" id="validation-9df6ef7f-11be-4f83-82d8-c346f8455440" hidden="hidden">
    <span class="FormControl-inlineValidation--visual">
      <svg aria-hidden="true" data-component="Octicon" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill">
<path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
</div>

Provide feedback

</div>
<div class="Overlay-actionWrap">
  <button data-close-dialog-id="feedback-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted
Cancel Submit feedback
<custom-scopes data-target="qbsearch-input.customScopesManager">

Saved searches

Use saved searches to filter your results more quickly

    <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm">
    <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="rSivdgqlCfHRM8BiYOEL6jZo77HSzEJYKwIqSqYXRROikhiCCA7ftJUhlOG3Z1WwjEaWtJquICdSHeQZWilH-w" />
      <div data-target="custom-scopes.customScopesModalDialogFlash"></div>

      <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">

      <div class="form-group">
        <label for="custom_scope_name">Name</label>
        <auto-check src="/search/custom_scopes/check_name" required>
          <input
            type="text"
            name="custom_scope_name"
            id="custom_scope_name"
            data-target="custom-scopes.customScopesNameField"
            class="form-control"
            autocomplete="off"
            placeholder="github-ruby"
            required
            maxlength="50">
          <input type="hidden" value="yUz4BRjHy2norJWR5eFr8KmT0EMwSfdRWDfuuPWN1DT_NAAGE76ek-zajHr3vLLgUnf-J4v1lh7-rtktBihgZQ" data-csrf="true" />
        </auto-check>
      </div>

      <div class="form-group">
        <label for="custom_scope_query">Query</label>
        <input
          type="text"
          name="custom_scope_query"
          id="custom_scope_query"
          data-target="custom-scopes.customScopesQueryField"
          class="form-control"
          autocomplete="off"
          placeholder="(repo:mona/a OR repo:mona/b) AND lang:python"
          required
          maxlength="500">
      </div>

      <p class="text-small color-fg-muted">
        To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>.
      </p>
    <div data-target="custom-scopes.manageCustomScopesForm">
      <div data-target="custom-scopes.list"></div>
    </div>
Cancel Create saved search
        <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block">
          <a
            href="/login?return_to=https%3A%2F%2Fgithub.com%2FWekyJay%2FZhpjHelper%2Fblob%2Fmain%2FREADME.md"
            class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded px-2 py-1"
            style="margin-left: 12px;"
            data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/WekyJay/ZhpjHelper/blob/main/README.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a103f5f2751b1502f31997d3c38665b562bda8686b3f0d31d1ef2158c021b367"
            data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}"
          >
            Sign in
          </a>
        </div>

          <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=WekyJay%2FZhpjHelper"
            class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1"
            data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/WekyJay/ZhpjHelper/blob/main/README.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a103f5f2751b1502f31997d3c38665b562bda8686b3f0d31d1ef2158c021b367"
            data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}"
          >
            Sign up
          </a>

            <div class="AppHeader-appearanceSettings">
<react-partial-anchor>
  <button data-target="react-partial-anchor.anchor" id="icon-button-f89f2736-9314-4800-9840-5a321940f7fd" aria-labelledby="tooltip-601230c7-910c-43a1-ba83-cac60f1c4bfd" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait">  <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual">
<path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path>
Appearance settings
  <template data-target="react-partial-anchor.template">
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.d7823aa20598252a.module.css" />

<react-partial partial-name="appearance-settings" data-ssr="false" data-attempted-ssr="false" data-react-profiling="false"

  </template>
</react-partial-anchor>
      <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Resetting focus</button>
    </div>
  </div>
</div>
  <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full">

    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
<path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
<button id="icon-button-c2c55b75-6d77-42aa-9f10-b15ee44954cb" aria-labelledby="tooltip-005a6da1-fb8d-4820-bfec-66a5fef139a9" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close">  <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
Dismiss alert
<div id="js-flash-container" class="flash-container" data-turbo-replace>
  <div>{{ message }}</div>

</div>
  <div class="d-flex flex-nowrap flex-justify-end tmp-mb-3  tmp-px-3 tmp-px-lg-5" style="gap: 1rem;">

    <div class="flex-auto min-width-0 width-fit">
        
<span class="author flex-self-stretch" itemprop="author">
  <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/WekyJay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/WekyJay">
    WekyJay

/ ZhpjHelper

<span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span>
    </div>

    <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;">
        <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">

  
  • Notifications You must be signed in to change notification settings
  • Fork 0
  •     </div>
      </div>
    
        <div id="responsive-meta-container" data-turbo-replace>
    
          <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 tmp-px-3 px-md-4 tmp-px-md-4 px-lg-5 tmp-px-lg-5">
    
    Additional navigation options
      <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone">          <action-list>
    

    <react-app app-name="code-view" initial-path="/WekyJay/ZhpjHelper/blob/main/README.md" style="display: block; min-height: calc(100vh - 64px);" data-attempted-ssr="true" data-ssr="true" data-lazy="false" data-alternate="false" data-data-router-enabled="true" data-react-profiling="false"

    Latest commit

     

    History

    History
    236 lines (175 loc) · 6.72 KB
     main

    README.md

    Top

    File metadata and controls

    • Preview
    • Code
    • Blame
    236 lines (175 loc) · 6.72 KB

    湖南教育综合评审系统自动审核脚本

    作者: WekyJay
    版本: 1.0.0
    协议: MIT


    📋 功能简介

    这是一个脚本猫(ScriptCat)自动化脚本,用于自动完成 https://zhpj.hnedu.cn 网站的学生评审工作。

    主要功能

    flowchart TD
        A[访问首页] --> B[点击获取学生数据]
        B --> C[自动扩展100条并获取]
        D[点击开始审核]
        C --> D
        D --> E{遍历学生}
        E --> F[点击进入审核]
        F --> G[处理审核列表]
        G --> H[逐个点击通过]
        H --> I{还有更多?}
        I -->|是| E
        I -->|否| J[完成所有审核]
    
    Loading

    🔧 安装步骤

    1. 安装脚本猫插件

    2. 安装脚本

    1. 打开脚本猫管理面板(点击浏览器工具栏的脚本猫图标)
    2. 点击「+」按钮新建脚本
    3. zhpj-auto-verify.user.js 文件内容全部复制粘贴进去
    4. Ctrl+S 保存脚本
    5. 确保脚本状态为「已启用」

    🚀 使用方法

    第一步:登录系统

    1. 访问 https://zhpj.hnedu.cn
    2. 使用您的账号密码登录系统
    3. 确保有审核权限

    第二步:进入学生列表页

    1. 点击左侧菜单「数据审阅」→「学校审核」
    2. 进入 URL 包含 verify/list_xs 的页面
    3. 脚本会自动检测并在页面右上角显示控制面板

    第三步:获取学生数据

    1. 点击 「📥 获取学生数据」 按钮
    2. 脚本会自动:
      • 扩展列表到100条
      • 获取所有待审核学生数据
      • 显示待审核学生数量

    第四步:开始自动审核

    1. 点击 「▶ 开始审核」 按钮
    2. 脚本会自动:
      • 逐个点击进入审核页面
      • 自动处理审核列表中的所有待审核项
      • 自动点击「通过」按钮
      • 自动跳转到下一个学生
    3. 等待处理完成

    🎛️ 控制面板说明

    ┌─────────────────────────────┐
    │   📋 自动审核助手 v1.0.0    │
    ├─────────────────────────────┤
    │  待审核学生:    50          │
    │  已处理:        23          │
    │  失败:          0           │
    │  操作延迟(ms):  [2000]      │
    ├─────────────────────────────┤
    │   [请先获取学生数据]        │
    ├─────────────────────────────┤
    │  [📥 获取学生数据]          │
    ├─────────────────────────────┤
    │  [▶ 开始审核] [⏹ 停止]      │
    ├─────────────────────────────┤
    │  ─────────────────────────  │
    │  日志显示区域...            │
    └─────────────────────────────┘
    

    面板功能

    项目 说明
    待审核学生 当前页面检测到的待审核学生数量
    已处理 已成功完成审核的学生数
    失败 审核过程中出错的数量
    操作延迟 每次操作之间的等待时间(毫秒)
    状态 显示当前运行状态
    日志区域 实时显示操作日志,无需打开开发者工具

    ⚙️ 配置参数

    在脚本代码中可以修改以下配置:

    const CONFIG = { // 操作延迟(毫秒),建议 1000-3000 DELAY_MS: 2000,

    <span class="pl-c">// 是否开启调试日志</span>
    <span class="pl-c1">DEBUG</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
    
    <span class="pl-c">// 最大重试次数</span>
    <span class="pl-c1">MAX_RETRY</span>: <span class="pl-c1">3</span><span class="pl-kos">,</span>
    
    <span class="pl-c">// iframe ID</span>
    <span class="pl-c1">IFRAME_ID</span>: <span class="pl-s">'contentFrame'</span>
    

    };


    🎯 特性说明

    1. 智能数据获取

    • 自动扩展列表到100条
    • 只获取待审核数>0的学生
    • 自动翻页获取所有数据

    2. 直接跳转优化

    • 学生间直接跳转,无需返回列表
    • 使用URL参数直接定位到下一个学生
    • 减少页面加载时间

    3. 安全机制

    • 操作延迟防止请求过快
    • 自动检测页面状态
    • 错误处理和重试机制

    4. 实时日志

    • UI面板内显示操作日志
    • 支持iframe日志同步
    • 不同级别日志颜色区分

    ⚠️ 注意事项

    1. 合法性:请确保您有权限进行自动审核操作
    2. 稳定性:建议在网络稳定的环境下使用
    3. 监控:首次使用建议观察几个学生的审核过程
    4. 停止:点击「停止」按钮可以中断审核流程
    5. 延迟:如果系统响应慢,可以适当增加延迟时间

    🐛 故障排除

    问题:脚本没有显示控制面板

    解决

    • 确认脚本已启用
    • 刷新页面
    • 检查是否在正确的页面(URL包含 verify/list_xs

    问题:获取学生数据为0

    解决

    • 确认当前页面有待审核学生
    • 检查"待审核"列是否有大于0的数字
    • 尝试手动扩展列表到100条后重新获取

    问题:审核过程中卡住

    解决

    • 点击「停止」按钮中断
    • 增加操作延迟时间
    • 检查网络连接

    📄 更新日志

    v1.0.0 (2025-03-30)

    • ✨ 初始版本发布
    • 🎨 全新白色系UI设计
    • 📊 内置日志显示面板
    • 🚀 学生间直接跳转优化
    • 🔒 审核期间按钮禁用

    📧 联系方式

    如有问题或建议,请联系作者:WekyJay


    📜 许可证

    MIT License

    Copyright (c) 2025 WekyJay

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    </main>
    
          <footer class="footer tmp-pt-7 tmp-pb-6 f6 color-fg-muted color-border-subtle p-responsive" role="contentinfo" >
    

    Footer

    © 2026 GitHub, Inc.
    <nav aria-label="Footer">
      <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3>
    
      <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading">
    
    
          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a>
          </li>
    
          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a>
          </li>
    
          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a>
          </li>
    
          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a>
          </li>
    
          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to community&quot;,&quot;label&quot;:&quot;text:community&quot;}" href="https://github.community/" data-view-component="true" class="Link--secondary Link">Community</a>
          </li>
    
          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a>
          </li>
    
          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a>
          </li>
    
          <li class="mx-2" >
    
    Manage cookies
  • Do not share my personal information
  •   </ul>
    </nav>
    
    <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999"
      data-locale="en"
      data-initial-cookie-consent-allowed=""
      data-cookie-consent-required="false"
    ></ghcc-consent>
    
    You can’t perform that action at this time.
    <template id="site-details-dialog">
    
    <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;">
    
    <template id="snippet-clipboard-copy-button">
    
    </div>
    <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div>
    <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div>
    
    Script Details
    License
    Not declared
    No license declared — reuse with caution
    Permissions & access
    Capabilities
    StorageMenu command