首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >robobrowser如何按名称查找窗体

robobrowser如何按名称查找窗体
EN

Stack Overflow用户
提问于 2017-12-01 08:44:41
回答 2查看 3.1K关注 0票数 1

我正在使用机器人浏览器登录到一个网站。

我的问题是登录页面有两个表单,都有相同的操作,但具有不同的名称。

代码语言:javascript
复制
<form action="/login" name="changedomain">
...
</form>

第二种形式是:

代码语言:javascript
复制
<form action="/login" name="signin">
...
</form>

我的python代码看起来像这样:

代码语言:javascript
复制
import re
from robobrowser import RoboBrowser
browser = RoboBrowser(history=True, parser="lxml")
browser.open("http://example.com")
form = browser.get_form()

问题是如果我使用:

代码语言:javascript
复制
form = browser.get_form()[1]

我得到了一个BadRequestKeyError,但是我找不到任何关于如何按名称定位表单的文档。文档中只说要使用操作,但是表单具有相同的操作属性。欢迎提出任何建议。

EN

回答 2

Stack Overflow用户

发布于 2017-12-01 13:12:54

我有使用以下代码的工作代码;

代码语言:javascript
复制
form = browser.get_form('Form1')

这是另一个例子--打印表单的html;

代码语言:javascript
复制
from robobrowser import RoboBrowser

browser = RoboBrowser(history=True, parser="html.parser")
browser.open("https://stackoverflow.com")
form = browser.get_form(id="search")
print(form.parsed)

收益率

代码语言:javascript
复制
<form action="/search" autocomplete="off" class="searchbar" id="search" method="get" role="search">
<input autocomplete="off" class="f-input js-search-field" maxlength="240" name="q" placeholder="Search…" tabindex="1" type="text" value=""/>
<button aria-label="Search..." class="btn-topbar-primary js-search-submit" type="submit"><svg aria-hidden="true" class="svg-icon iconSearch" height="18" viewbox="0 0 18 18" width="18"><path d="M12.86 11.32L18 16.5 16.5 18l-5.18-5.14v-.35a7 7 0 1 1 1.19-1.19h.35zM7 12A5 5 0 1 0 7 2a5 5 0 0 0 0 10z"></path></svg></button>
</form>
票数 1
EN

Stack Overflow用户

发布于 2017-12-01 14:17:59

如何选择第二种形式的第一个答案是:

代码语言:javascript
复制
form = browser.get_forms()[1] # note the get_forms() not get_form()

第二个问题是如何查看表单的源代码,答案基本上是:

代码语言:javascript
复制
print(form) # this prints a dictionary of all input fields and their values from the selected form.
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47584985

复制
相关文章

相似问题

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