我正在使用Ruby中的mechanize编写脚本。我试图选择表单的值(下拉列表),但是在第一个字段进行选择之前,表单的第二个字段的值不会出现。它会阻止以下内容 -
my_form[0].options[2].select
my_form[1].options[2].select
my_form[2].options[2].select
my_form[3].options[0].select
因为此时第二个字段没有任何值。然而,第一部分的选择就像它应该的那样。
表单中的行看起来像这样
<select id="DistrictId" name="DistrictId"><option value="">---SELECT---</option>
<option value="3">Alaska Gateway School District</option>
...
</select>
<input type="button" id="selectDistrict" value="SELECT">
我看到字段后面有一个“选择”按钮,但是我不确定如何点击它并填充第二个字段。
当我使用以下
时my_form.button_with(:value => "SELECT").click
我没有收到错误,但它也没有重新填充第二个字段。我在第一个字段的选择之后尝试放置该行,它让我没有进一步。
我还没有看到任何对下拉菜单有用的东西。
Use a Login form with Mechanize有助于处理表单,但对实际选择该按钮没有任何帮助。
我需要做的另一件事是循环显示下拉菜单中的所有选项。
我已经找到了一些关于下拉和蟒蛇的事情,这也有所帮助。
我可以用
选择部分.options[x]
但我不确定如何知道何时结束循环。看起来这些元素存储为一个数组,因此我可以在表单上执行.each。 http://crabonature.pl/posts/23-automation-with-mechanize-and-ruby对于浏览表单很有帮助,但是在返回到表单下方的字段之前,必须先选择顶部的表单值。