Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法设置SelectControl元素的值_Python_Mechanize - Fatal编程技术网

Python 无法设置SelectControl元素的值

Python 无法设置SelectControl元素的值,python,mechanize,Python,Mechanize,我试图通过提交带有mechanize的表单来获取机器可解析的总线调度数据 但是,设置的mechanize语法阻碍了我 import mechanize br = mechanize.Browser() br.open("http://www.planibus.sto.ca/HastinfoWeb/StartTimetableForm.aspx") br.select_form(name="TimetableQueryForm") br["RouteDirectionDynamicComboBox

我试图通过提交带有mechanize的表单来获取机器可解析的总线调度数据

但是,设置的mechanize语法阻碍了我

import mechanize
br = mechanize.Browser()
br.open("http://www.planibus.sto.ca/HastinfoWeb/StartTimetableForm.aspx")
br.select_form(name="TimetableQueryForm")
br["RouteDirectionDynamicComboBox$ComboBox_Input"] = "10 OTTAWA" # works fine, it's a TextControl
br["DatePicker$DaysDropDownList"] = ["3"] # This is a SelectControl
### mechanize._form.ItemNotFoundError: insufficient items with name '3'
mechanize.\u form.ItemNotFoundError:名称为“3”的项目不足
看起来需要一个列表,但当我在列表中输入多个项目时(这没有什么意义,因为这是一个日期选择器),我得到:

mechanize.\u form.itemccounter错误:单个选择列表,必须设置长度为0或1的序列

我以为我原来的
[“3”]
是长度为1的序列

谢谢你的关注。我可能错过了一些明显的东西


编辑:请注意,上面的“3”只是一个值,并且该网站允许在其UI中为接下来的两周设置值,因此根据您看到的时间,允许值列表将发生更改。只需用一个允许值替换“3”。。。仍然不适合我…

3不是可用的选择选项之一,我看到的选项是

<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>

没有任何选项,我想在页面加载之后,javascript会被用来填充它们。不幸的是,尝试使用来获取所需的数据

3不是可用的选择选项之一,我看到的选项是

<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>

没有任何选项,我想在页面加载之后,javascript会被用来填充它们。不幸的是,尝试使用来获取所需的数据

是的,昨天当“3”是一个有效答案时,我问了这个问题:-)我试过(说“10”,我得到了同样的错误。Selenium Webdriver太酷了。我花了几分钟研究它,看起来它将是解决我问题的更好的方法。使用easy_install selenium进行安装非常简单。谢谢太好了,很乐意帮忙。看看pip,它比简单安装好<代码>简易安装pip;pip install somepackage是的,昨天当“3”是一个有效答案时问了这个问题:-)我用(比如说)“10”试过了,我得到了同样的错误Selenium Webdriver太酷了。我花了几分钟研究它,看起来它将是解决我问题的更好的方法。使用easy_install selenium进行安装非常简单。谢谢太好了,很乐意帮忙。看看pip,它比简单安装好<代码>简易安装pip;pip安装软件包