0

嗨,我是 javascript 新手,但我想自动化一个简单的 Web 表单,其中包括 2 个下拉列表。在第一个下拉列表中选择一个项目后,应该出现第二个下拉列表。

我使用以下代码在 Chrome 浏览器的控制台中运行,从第一个下拉列表中选择值“Dubai”:

document.querySelector(".trigger-section select").selectedIndex = 4;

但它只从第一个下拉列表中选择一个选项,而不生成第二个下拉列表。第二个下拉列表仍然不可见。

当我通过鼠标单击第一个下拉列表中的选项时,第二个列表生成没有任何问题。但是当我运行脚本时,它只会从第一个选项中选择一个选项并停止。

以下是取自 InspectElement 的下拉列表元素的 HTML 代码:

<triggersection mode="visibility" question="unrateable_explanation" class="trigger-section" webpage-id="unrateable_explanation" style="">
 <h4>Select the country</h4>
   <div style="margin:0 0 10px 20px">
    <listboxquestion name="unrateable_explanation" class="question-element list-box-question" webpage-id="unrateable_explanation" required-question="true">
     <aside>
      <div class="required-question-indicator">
      </div>
     </aside>
     <div>
      <select><option value="Select One">Select One</option>
       <option value="1">Norway</option>
       <option value="2">Ireland</option>
       <option value="3">India</option>
       <option value="4">Dubai</option>
      </select>
     </div>
    </listboxquestion>

 <triggersection mode="visibility" question="unrateable_explanation_dubai" class="trigger-section" webpage-id="unrateable_explanation_dubai" style="">
  <listboxquestion name="unrateable_explanation_dubai" class="question-element list-box-question" webpage-id="unrateable_explanation_dubai">
   <aside>
    <div class="required-question-indicator">
    </div>
   </aside>
   <div>
    <select>
     <option value="Select One">Select One</option>
     <option value="1">Seoul/option>
     <option value="2">Oocla</option>
     <option value="3">Pdpd</option>
     <option value="4">Algeria</option>
     <option value="5">Gaba</option>
     <option value="6">Adaq</option>
     <option value="0">Osmania</option>
    </select>
   </div>
  </listboxquestion>
 </triggersection>
</triggersection>

我还注意到,当我在以下代码中通过鼠标单击时,此required-question="true"不存在,但在我运行脚本时它存在。

<listboxquestion name="unrateable_explanation" class="question-element list-box-question" webpage-id="unrateable_explanation">

但是当我尝试通过浏览器控制台中的 javascript 代码访问时,它出现在代码中。也许通过将其设置为“false”会生成第二个列表,我不确定。我不知道该怎么做。也没有“id”标签而是“webpage-id”标签,所以我不确定这是否可以用作元素的“id”。

我想从第一个列表中选择选项,这应该生成第二个列表。有人可以推荐一些可以解决这个问题的东西吗?

4

0 回答 0