Ceci est un cas très spécialisé et je me sens mal à l'aise de le demander; Cependant, je suis à bout de travail.Python mécaniser perd des attributs à la deuxième ouverture
Je dois suivre un numéro de suivi à travers un formulaire et une page de résultats, donc j'utilise mechanize en python, le lien après la soumission du formulaire est intégré dans javascript, donc je ne peux pas simplement suivre_link. Ce que je veux faire est de regex dehors l'url et puis demander l'appel open()
là-dessus, cependant quand je fais - je rencontre quelques problèmes.
Je peux appeler br.geturl()
et br.title()
très bien sur la page cible, mais quand vient le temps de lire la source de la page en question, il jette
AttributeError: mechanize._mechanize.Browser instance has no attribute read (perhaps you forgot to .select_form()?)
Est-il possible de le faire ou suis I-patcher singe trop, des conseils serait formidable
modifier [plus de code {vraiment moche juste essayer de faire fonctionner}]:
cosn="########"
baseurl="http://aaa.com/"
search="thing.do"
br=Browser()
br.open(baseurl+search)
br.select_form('traceForm')
br['consignments']=cosn
req=br.submit()
pars=Soup(req.read())
found_url=re.match(r"javascript:window.location.href = '(?P<url>[\w\d=&?\.]+)", pars.find('td', attrs={'class':'select'})['onclick']).group('url')
br.open(baseurl+found_url)
print br.title() # works
print br.geturl() # works
print br.read() # throws exception
Pourriez-vous poster plus de code? – codeape