首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Python填写动态在线表单

用Python填写动态在线表单
EN

Stack Overflow用户
提问于 2018-06-01 15:04:43
回答 1查看 382关注 0票数 2

我正在Python上使用RoboBrowser,并且我正试图在一个网站(here)上填写一个表单。现在的问题是表单是动态的。如果您打开链接,您将看到一行“国家/地区”、“州/区”、“城市”和“位置”。

州/地区行取决于您从下拉菜单中选择的国家/地区,城市取决于州/地区,位置取决于城市。例如,我希望能够提取国家/地区的特定值的州/区的“值”。例如,当我编写以下代码时:

代码语言:javascript
复制
>>> import re
>>> from robobrowser import RoboBrowser
>>> browser = RoboBrowser()
>>> browser.open('http://http://www.kidzee.com/admissions-at-kidzee/')
>>> form = browser.get_form()
>>> form
<RoboForm siteid=, adunit=, fname=, lname=, email=, mobile=,country=,state=,
city=, location=0, 6_letters_code=, admission_submit=Submit>
>>> form['country'].options
['','1','2'] #The options presented are India and Nepal.
>>>form['country'].value = '1'
>>>form['state'].options
['']

现在我要做的是用form['country'].value = '1'获取form['state'].value的所有可能值(因为州列表取决于country的值)。我该怎么做呢?

感谢您阅读我的问题。

EN

回答 1

Stack Overflow用户

发布于 2018-06-01 21:55:35

在检查网络日志credits:@P.hunter时,我发现每当我按下Select Country按钮时,都会向http://www.kidzee.com/wp-admin/admin-ajax.php?action=state发送一个请求。因此,我编写了以下代码来获取数据:

代码语言:javascript
复制
    from urllib.parse import urlencode
    from urllib.request import Request, urlopen

    url = 'http://www.kidzee.com/wp-admin/admin-ajax.php?action=state'
    fields = {'state': '1'}  

    r = Request(url, urlencode(fields).encode())
    json = urlopen(r).read().decode()
    print(json)

现在我正在获取这个国家所需的州。

感谢你的正确方向,@P.hunter。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50637847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档