Javascript Python机械化:选择一个选项
如何从select标记中选择选项 此表单仅包含一个选择标记,不包含提交按钮。当选择一个选项时,它应该调用javascript函数“doPostBack”('D1',''),该函数将向同一页面添加更多内容Javascript Python机械化:选择一个选项,javascript,python,html,Javascript,Python,Html,如何从select标记中选择选项 此表单仅包含一个选择标记,不包含提交按钮。当选择一个选项时,它应该调用javascript函数“doPostBack”('D1',''),该函数将向同一页面添加更多内容 <select name="D1" onchange="__doPostBack('D1','')" language="javascript" id="D1"> <option value="0">- Select -</option>
<select name="D1" onchange="__doPostBack('D1','')" language="javascript" id="D1">
<option value="0">- Select -</option>
<option value="1">option1</option>
<option value="3">option2</option>
<option value="5">option3</option>
</select>
-挑选-
选择1
选择2
选择3
虽然我在mechanize方面没有太多经验,但我相信它应该是这样的:
control = form.find_control('D1')
control.value = ['3']
不幸的是,
WWW:Mechanize
没有Javascript引擎。这里说:
有一些解决方法,但不确定该方法是否能在100%的时间内工作
#Changing the control
br.select_form(nr=0) # select the first form : try to locate your form and adapt the line
form = br.form
form['D1'] = ['3']
#Submitting the changes
request2 = form.click() # mechanize.Request object
try:
response2 = mechanize.urlopen(request2)
except mechanize.HTTPError, response2:
pass
另一个解决方案是自动化无头浏览器(如使用PhantomJS
)