[twill] help automating gmail and yahoo mail
Nat Williams
nat.williams at gmail.com
Wed Jul 8 11:19:06 PDT 2009
Mark,
Your first code snippet works fine for me, on both twill 0.9 and trunk. Is
it b.submit() that is specifically causing the error?
I'm interested in the last bit of that traceback, though:
File "/opt/ams/mdevine/lib/python2.
> 4/urllib2.py", line 1053, in unknown_open
> raise URLError('unknown url type: %s' % type)
> urllib2.URLError: <urlopen error unknown url type: 'http>
It looks like a url is getting parsed incorrectly somewhere, or perhaps
double quoted (as in two sets of quotes). I am unable to reproduce, so I
can't really tell any more.
As for the yahoo thing, I don't really see what the problem is. Why would
the inbox show up as a form? Do either of these sites even work without
javascript?
Nat
On Mon, Jun 29, 2009 at 9:00 AM, Mark Devine <mfmdevine at gmail.com> wrote:
> Hi
> I need help automating both gmail and yahoo mail using twill. I wonder
> if someone could point me in the right direction. I used the following
> code to access gmail but I got a
> urllib2.URLError: <urlopen error unknown url type: 'http>
> error when I ran it. I have included the Traceback
>
> import twill, string, os
> b=twill.commands.get_browser()
> b.set_agent_string("Mozilla/5.0 (Windows; U; Windows NT 5.1;
> en-GB;rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14")
> b.clear_cookies()
> b.go('http://www.gmail.com')
> f=b.get_form("1")
> b.showforms()
> f['Email']= email
> f['Passwd'] =password
> b.clicked(f, f)
> b.submit()
>
> When I run the code I get:
>
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> File "/home/mdevine/qa/aqa/mfe/site-packages/twill/browser.py", line
> 115, in go
> self._journey('open', u)
> File "/home/mdevine/qa/aqa/mfe/site-packages/twill/browser.py", line
> 540, in _journey
> r = func(*args, **kwargs)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_mechanize.py",
> line 156, in open
> return self._mech_open(url, data)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_mechanize.py",
> line 182, in _mech_open
> response = UserAgentBase.open(self, request, data)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_opener.py",
> line 191, in open
> response = meth(req, response)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_http.py",
> line 573, in http_response
> response = self.parent.error(
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_opener.py",
> line 208, in error
> result = apply(self._call_chain, args)
> File "/opt/ams/mdevine/lib/python2.4/urllib2.py", line 337, in
> _call_chain
> result = func(*args)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_http.py",
> line 129, in http_error_302
> return self.parent.open(new)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_mechanize.py",
> line 156, in open
> return self._mech_open(url, data)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_mechanize.py",
> line 182, in _mech_open
> response = UserAgentBase.open(self, request, data)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_opener.py",
> line 191, in open
> response = meth(req, response)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_http.py",
> line 573, in http_response
> response = self.parent.error(
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_opener.py",
> line 208, in error
> result = apply(self._call_chain, args)
> File "/opt/ams/mdevine/lib/python2.4/urllib2.py", line 337, in
> _call_chain
> result = func(*args)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_http.py",
> line 129, in http_error_302
> return self.parent.open(new)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_mechanize.py",
> line 156, in open
> return self._mech_open(url, data)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_mechanize.py",
> line 182, in _mech_open
> response = UserAgentBase.open(self, request, data)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_opener.py",
> line 191, in open
> response = meth(req, response)
> File "/home/mdevine/qa/aqa/mfe/site-packages/twill/utils.py", line
> 455, in http_response
> "refresh", msg, hdrs)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_opener.py",
> line 208, in error
> result = apply(self._call_chain, args)
> File "/opt/ams/mdevine/lib/python2.4/urllib2.py", line 337, in
> _call_chain
> result = func(*args)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_http.py",
> line 129, in http_error_302
> return self.parent.open(new)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_mechanize.py",
> line 156, in open
> return self._mech_open(url, data)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_mechanize.py",
> line 182, in _mech_open
> response = UserAgentBase.open(self, request, data)
> File
> "/home/mdevine/qa/aqa/mfe/site-packages/twill/other_packages/mechanize/_opener.py",
> line 180, in open
> response = urlopen(self, req, data)
> File "/opt/ams/mdevine/lib/python2.4/urllib2.py", line 381, in _open
> 'unknown_open', req)
> File "/opt/ams/mdevine/lib/python2.4/urllib2.py", line 337, in
> _call_chain
> result = func(*args)
> File "/opt/ams/mdevine/lib/python2.4/urllib2.py", line 1053, in
> unknown_open
> raise URLError('unknown url type: %s' % type)
> urllib2.URLError: <urlopen error unknown url type: 'http>
>
> I also had a problem with yahoo mail when I logged in I found that
> there was just one form and it had not got the inbox in it:
>
> >>> import twill, string, os
> >>> b=twill.commands.get_browser()
> >>> b.set_agent_string("Mozilla/5.0 (Windows; U; Windows NT 5.1;
> en-GB;rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14")
> >>> b.clear_cookies()
> >>> b.go("http://mail.yahoo.com")
> Redirected to <Request for
> https://login.yahoo.com/config/login_verify2?&.src=ym>
> ==> at https://login.yahoo.com/config/login_verify2?&.src=ym in
> 0.37890791893 secs
> >>> f=b.get_form("1")
> >>> b.showforms()
>
> Form name=login_form (#1)
> ## ## __Name____________________________ __Type___
> __ID____________________ __Value__________________
> 1 .tries hidden (None)
> 1
> 2 .src hidden (None)
> ym
> 3 .md5 hidden (None)
> 4 .hash hidden (None)
> 5 .js hidden (None)
> 6 .last hidden (None)
> 7 promo hidden (None)
> 8 .intl hidden (None)
> us
> 9 .bypass hidden (None)
> 10 .partner hidden (None)
> 11 .u hidden (None)
> 81cps6p54h7fv
> 12 .v hidden (None)
> 0
> 13 .challenge hidden (None)
> 2xPl5mhaAcuDjrKcEK7zP_fLN8.E
> 14 .yplus hidden (None)
> 15 .emailCode hidden (None)
> 16 pkg hidden (None)
> 17 stepid hidden (None)
> 18 .ev hidden (None)
> 19 hasMsgr hidden (None)
> 0
> 20 .chkP hidden (None)
> Y
> 21 .done hidden (None)
> http://mail.yahoo.com
> 22 .pd hidden (None)
> ym_ver=0&c=&ivt=&sg=
> 23 login text username
> 24 passwd password passwd
> 25 .persistent checkbox persistent
> [] of ['y']
> 26 1 .save submit (None)
> Sign In
>
> >>> f['login']= email
> >>> f['passwd'] =password
> >>> b.clicked(f, f)
> >>> b.submit()
> Note: submit is using submit button: name=".save", value="Sign In"
> Following HTTP-EQUIV=REFRESH to
> http://ie.mg41.mail.yahoo.com/dc/launch?.gx=0&.rand=ats9inotdjll8
> Redirected to <Request for
> http://ie.mg41.mail.yahoo.com/dc/launch?.gx=0&.rand=ats9inotdjll8>
> >>> b.showforms()
>
> Form #1
> ## ## __Name____________________________ __Type___
> __ID____________________ __Value__________________
> 1 webSrchInput text webSrchInput
> 2 ei hidden ei
> UTF-8
> 3 fr hidden fr_code
> ush-mailc
> 4 p hidden p
> 5 1 searchbutton submit searchbutton
> Search
>
> >>>
>
> Any help would be appreciated as I need to create webmail generators for
> work.
>
> Thanks
>
> M
>
> _______________________________________________
> twill mailing list
> twill at lists.idyll.org
> http://lists.idyll.org/listinfo/twill
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.idyll.org/pipermail/twill/attachments/20090708/5bcb31f9/attachment.htm
More information about the twill
mailing list