使用JavaScript自动填充Microsoft表单

使用JavaScript自动填充Microsoft表单,javascript,forms,microsoft-forms,Javascript,Forms,Microsoft Forms,我有一个微软表单,我想自动化,因为我计划创建一个chrome扩展,每天定期归档表单 表单只有两个字段, 一个是文本字段 第二个是星级控制 对于文本字段,我可以直接使用document.getElementById('name').value='name',但对于星星来说,这有点棘手,因为它们没有我可以触发的按钮或事件 下面是stars的HTML <div class="rateit margin-left office-form-theme-primary-foregro

我有一个微软表单,我想自动化,因为我计划创建一个chrome扩展,每天定期归档表单 表单只有两个字段, 一个是文本字段

第二个是星级控制

对于文本字段,我可以直接使用
document.getElementById('name').value='name'
,但对于星星来说,这有点棘手,因为它们没有我可以触发的按钮或事件

下面是stars的HTML

<div
  class="rateit margin-left office-form-theme-primary-foreground rateit-font"
  data-rateit-icon=""
  data-rateit-iconforempty=""
  data-rateit-mode="font"
  data-rateit-marginleft="4"
  data-rateit-marginright="4"
  data-rateit-starwidth="24"
  data-rateit-max="5"
  data-rateit-step="1"
  data-rateit-resetable="false"
  data-rateit-ispreset="true"
  style="font-size: 24px;"
  title="2 Stars"
  data-rateit-value="2"
>
  <button
    id="rateit-reset-5"
    type="button"
    data-role="none"
    class="rateit-reset"
    aria-label="reset rating"
    aria-controls="rateit-range-5"
    style="float: left; display: none;"
  >
    <span></span>
  </button>
  <div
    id="rateit-range-5"
    class="rateit-range"
    tabindex="0"
    role="slider"
    aria-owns="rateit-reset-5"
    aria-valuemin="0"
    aria-valuemax="5"
    aria-valuenow="2"
    aria-labelledby="question15-title question15-required question15-questiontype l5"
  >
    <div class="rateit-empty">
      <span style="margin: 0px 4px;"></span
      ><span style="margin: 0px 4px;"></span
      ><span style="margin: 0px 4px;"></span
      ><span style="margin: 0px 4px;"></span
      ><span style="margin: 0px 4px;"></span>
    </div>
    <div class="rateit-selected" style="width: 64px; display: flex;">
      <span style="margin: 0px 4px;"></span
      ><span style="margin: 0px 4px;"></span
      ><span style="margin: 0px 4px;"></span
      ><span style="margin: 0px 4px;"></span // tried to trigger a click on this via JS , but no luck
      ><span style="margin: 0px 4px;"></span>
    </div>
    <div class="rateit-hover" style="width: 0px; display: none;">
      <span style="margin: 0px 4px;"></span
      ><span style="margin: 0px 4px;"></span
      ><span style="margin: 0px 4px;"></span
      ><span style="margin: 0px 4px;"></span
      ><span style="margin: 0px 4px;"></span>
    </div>
  </div>
</div>




我尝试更新
.rateit>数据rateit值
&
.rateit range>aria valuenow
,但没有成功 还尝试在产生星星的跨度上触发点击事件,但没有运气


那么,是否有其他方法可以触发单击并更新值

您实际需要触发的只是实际请求,而不是视觉部分。只需检查请求的发送方式并重新生成它,无需任何HTML。当然,除非你想保持视觉效果。自发地,它看起来像是你需要改变的
data rateit value
。你真正需要触发的是实际的请求,而不是视觉部分。只需检查请求的发送方式并重新生成它,无需任何HTML。当然,除非你想保持视觉效果。自发地,它看起来像是
数据速率它的值
是您需要更改的。