【问题标题】:Python: How to fill out form all at once with splinter/Browser?Python:如何使用 splinter/Browser 一次性填写表格?
【发布时间】:2017-09-19 02:25:21
【问题描述】:

目前,我正在一个网站上填写以下表格:

browser.fill(‘form[firstname]’, ‘Mabel’)
browser.fill(‘form[email]’, ‘hi@hi.com’)
browser.select(‘form[color]’, ‘yellow’)

但是表格是按顺序填写的,一个接一个。有没有办法一次性填完表格?

谢谢你,一定会投票并接受答案!

【问题讨论】:

    标签: python python-2.7 browser splinter


    【解决方案1】:

    浏览器有一个方法叫做:fill_form(field_values)

    它接受一个 dict 参数,包含字段名称和值,并立即填充表单。

    所以你将使用browser.fill_form(dict) 而不是browser.fill(field, value)

    有关浏览器 API 及其方法的更多信息:

    https://splinter.readthedocs.io/en/latest/api/driver-and-element-api.html

    【讨论】:

    • 不要以为我很清楚它是如何工作的。你介意展示一个小例子吗?
    • 我该如何申请.select()
    • 欣赏!但我仍然可以看到它一次填写 1,然后一次全部填写。有没有办法一次性填写表格?这是我正在使用的字典:form_dict = { ’form[firstname]’: ‘Mabel’, ‘form[email]’: ‘hi@hi.com’, ‘form[color]’: ‘yellow’ }
    • 根据文档,fill_form() 支持以下字段:文本、密码、文本区域、复选框、单选和选择。如果您的字段被命名为 form[firstname]、form[email] 和 form[color],它应该只使用 browser.fill_form(from_dict) 我认为没有其他方法可以“一次完成”
    • 谢谢。感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多