use*_*370 6 html python forms testing splinter
我试图用分裂填写登录表单上的字段.当我检查渲染页面时,我看到用户名输入框同时包含一个标记和名称"u".如何从分裂中填写此字段?我尝试了以下方法:
from splinter import Browser
url = "http://www.weiyun.com/disk/login.html"
browser = Browser('firefox')
browser.visit(url)
browser.fill("u", "foo@bar.com")
print "done"
Run Code Online (Sandbox Code Playgroud)
但根据返回的错误,没有这样的字段:
ElementDoesNotExist: no elements could be found with name "u"
Run Code Online (Sandbox Code Playgroud)
如何使用splinter填充这样的页面上的输入字段?
问题是您的表单位于iframe, 用于get_iframe()与其交互的内部:
with browser.get_iframe('_qq_login_frame') as iframe:
iframe.fill("u", "foo@bar.com")
Run Code Online (Sandbox Code Playgroud)
演示以显示差异:
>>> browser = Browser('firefox')
>>> browser.visit(url)
>>> browser.find_by_name('u')
[]
>>> with browser.get_iframe('_qq_login_frame') as iframe:
... iframe.find_by_name('u')
...
[<splinter.driver.webdriver.firefox.WebDriverElement object at 0x102465590>]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3076 次 |
| 最近记录: |