[python] jak vyplnit formulář

Bystrousak na seznam.cz Bystrousak na seznam.cz
Úterý Únor 26 14:17:24 CET 2008


Mohl by ještě někdo kdo má práva k editaci wiki doplnit tento text:

Je možné, že časem narazíte na problém se souborem robots.txt. Poznáte to tak, že vám nepůjde načíst stránka a jako chybu bude Python hlásit toto: 

Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
  File "c:\python25\lib\site-packages\zope.testbrowser-3.4.2-py2.5.egg\zope\test
browser\browser.py", line 224, in open
    self.mech_browser.open(url, data)
  File "build\bdist.win32\egg\mechanize\_mechanize.py", line 203, in open
  File "build\bdist.win32\egg\mechanize\_mechanize.py", line 254, in _mech_open
mechanize._response.httperror_seek_wrapper: HTTP Error 403: request disallowed b
y robots.txt

Existují dva způsoby jak to vyřešit:
1) dočasná úprava konfigurace objektu Browser:
>>> from zope.testbrowser.browser import Browser
>>> browser= Browser()
>>> browser.mech_browser.set_handle_robots(False)

2) trvalá úprava:
 - otevřete si soubor Python25\Lib\site-packages\zope.testbrowser-3.4.2-py2.5.egg\zope\testbrowser\browser.py
 - přidejte 160 řádek v tomto tvaru: self.mech_browser.set_handle_robots(False)
 - výsledek by měl vypadat nějak takto: http://img84.imageshack.us/my.php?image=broyu3.jpg



> ------------ Původní zpráva ------------
> Od: "V.Segeďa" <v.segeda na madalbal.cz>
> Předmět: Re: [python] jak vyplnit formulář
> Datum: 25.2.2008 21:10:22
> ----------------------------------------
> Na vypĺňanie formulárov používam buď twill - http://twill.idyll.org/ 
> alebo zope.testbrowser - http://pypi.python.org/pypi/zope.testbrowser
> twill je veľmi jednoduchý a elegantný, ale zdá sa, že má isté obmedzenia.
> Zato testbrowser funguje spoľahlivo:
> 
> # -*- coding: utf-8 -*-
> from zope.testbrowser.browser import Browser
> browser = 
> Browser('http://spreadsheets.google.com/viewform?key=piYHG7JxUHxstW-8oPftQHQ')
> 
> form = browser.getForm()
> form.getControl(name='single:7').value = 'Honza Nový'
> form.getControl(name='single:8').value = 'Nová Ves'
> c = form.getControl(name='group:2')
> print c.options
> 
>     [' žloutenka typu A', ' žloutenka typu B', ' žloutenka typu C']
> 
> c.getControl(value=' žloutenka typu C').selected = True
> form.getControl(name='group:3').value = ['premenstruční syndrom', 'zánět 
> močového měchýře']
> form.getControl(name='single:5').value = 'pěkný příklad'
> form.submit()
> print browser.contents
> 
>     <!DOCTYPE HTML PUBLIC ...
>     <title>Děkujeme!</title>
>     ...
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
> 
> 
> 


Další informace o konferenci Python