我试图从网站上获取信息,并且这样做需要我登录。一切顺利,直到我到达“提交”按钮为止:
MissingSchema: Invalid URL u'/index.php?r=site/login': No schema supplied.
Perhaps you meant http:///index.php?r=site/login?
据我了解,这是因为网站将自身重定向到服务器上的页面而发生的。有没有一种方法可以使按钮重定向到整个页面,而不是服务器上的本地文件?还是我什至正确为什么会出现此错误?
提前致谢
我的代码要点:
from twill.commands import *
go('panel.picklehosting.com/index.php?r=site/login')
showforms()
formclear('1')
fv("1", "name", "usrname")
fv("1", "password", "mypass")
submit()
python大神给出的解决方案
对于我正在创建的网站,我一直遇到同样的问题,但是我想我已经解决了。
使用斜纹纸的formaction()函数设置所需页面的操作。例如
from twill.commands import *
go('http://example.com/login')
showforms()
fv("1", "nameField", "username")
fv("1", "password", "password")
formaction('form','http://example.com/login')
submit("4")
show()
go('http://example.com/admin/')
还是你的情况
from twill.commands import *
go('panel.picklehosting.com/index.php?r=site/login')
showforms()
formclear('1')
fv("1", "name", "usrname")
fv("1", "password", "mypass")
formaction('form','panel.picklehosting.com/index.php?r=site/login')
submit()
go('panel.picklehosting.com/yourpage.php')