Python Mechanize:选择选项

2024-04-24 07:42:06 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从select标记中选择一个选项?在

此表单只包含一个选择标记,没有提交按钮。当一个选项被选中时,它应该调用javascript函数_uDoPostback('D1',''),该函数将向同一页面添加更多内容。在

    <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>

Tags: 函数name标记表单内容value选项页面
2条回答

虽然我在机械化方面没有太多经验,但我认为应该是这样的:

control = form.find_control('D1')
control.value = ['3']

不幸的是,WWW:Mechanize没有Javascript引擎。上面写着:http://wwwsearch.sourceforge.net/mechanize/faq.html#script

有一些解决办法,但不确定该方法是否能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

另一种解决方案是自动化无头浏览器(比如Selenium和{})

相关问题 更多 >