Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 13/02/2012, à 13:41

[Python] Mechanize

Bonjour, je souhaiterais remplir le formulaire suivant avec le module mechanize:
http://www.intelliagence.fr/Page/Offer/SearchOffer.aspx

Pour le moment, j'ai fais ceci:

import re
import mechanize
from ClientForm import ParseResponse
import ClientForm

br = mechanize.Browser()
br.open('http://www.intelliagence.fr/Page/Offer/SearchOffer.aspx')
br.select_form(nr=0)
br.form.set_all_readonly(False)

br.form.set_value('Agronomie', name='ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$SpecialityDList')
br.form.set_value('CDI', name='ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$ContractDList')
br.form.set_value('France', name='ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$CountryDList')

br.submit(name='ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$Search')
print br.response().read()
br.close()

Le problème, c'est que je n'ai pas l'impression qu'il ait pris en compte mes choix. Ce qu'il affiche, c'est la réponse par défaut, c'est-à-dire comme si je n'avais rien rentré dans les champs.
Est-ce que quelqu'un a déjà rencontré ce type de soucis?
Par avance, merci.


Mal-pensant, mais résolument linuxien.

Hors ligne

#2 Le 14/02/2012, à 12:22

Re : [Python] Mechanize

Personne n'a de réponse? Rien qu'une piste serait la bienvenue hmm


Mal-pensant, mais résolument linuxien.

Hors ligne

#3 Le 14/02/2012, à 21:43

k3c

Re : [Python] Mechanize

Un coup de

mech-dump --forms ton_url

me semble montrer que c'est avec
ctl00$ctl00$ctl00$LoginControl$ButtonValidate=Valider (submit)

qu'il faut valider, pas avec celui que tu utilises dans br.submit.


Acer Aspire One 150 8,9 "
Norhtec avec une Clé Usb bootable http://www.norhtec.com/products/mcsr/index.html

Toshiba Satellite L750

Hors ligne

#4 Le 14/02/2012, à 23:26

Re : [Python] Mechanize

ctl00$ctl00$ctl00$LoginControl$ButtonValidate, ce serait pas plutôt pour le formulaire d'identification qui est en haut à droite sur la page?


Mal-pensant, mais résolument linuxien.

Hors ligne

#5 Le 15/02/2012, à 08:39

k3c

Re : [Python] Mechanize

$ mech-dump --forms http://www.intelliagence.fr/Page/Offer/SearchOffer.aspx | grep text
  <NONAME>={2}                   (text)
  ctl00$ctl00$ctl00$search=Tapez le mot-cl recherch (text)
  ctl00$ctl00$ctl00$WhoAreYouComboBox=Qui tes vous ? (text readonly)
  ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$OfferTypeComboBox=Offre d'emploi (text readonly)
  ctl00_ctl00_ctl00_Content_OfferContent_OfferContent_OfferSearchPanel_QuickSearchT_text=Recherche rapide (text)
  ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$QuickSearchT= (text)
  ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$ContractDList=Contrat (text readonly)
  ctl00_ctl00_ctl00_Content_OfferContent_OfferContent_OfferSearchPanel_ReferenceT_text=Rfrence (text)
  ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$ReferenceT= (text)
  ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$JobDList=Mtier (text readonly)
  ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$CountryDList=Pays du lieu de travail (text readonly)
  ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$ExperienceDList=Niveau d'exprience (text readonly)
  ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$SpecialityDList=Spcialit (text readonly)
  ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$SalaryDList=Niveau de salaire (text readonly)
  ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$OffersSort=Dbut de parution (text readonly)
  ctl00$ctl00$ctl00$Content$OfferContent$OfferContent$OfferSearchPanel$RadCBOffersPerPage=5 (text readonly)
  ctl00$ctl00$ctl00$LoginControl$TBLoginValue=Nom d'utilisateur (text)
$ 

Tu peux peut-être essayer de sélectionner ton formulaire non par son numéro mais par son nom ?
Edit: en fait ça ne changera rien, il y a un seul formulaire
for form in br.forms():
n'en montre qu'un.

Je vais faire des essais sur un autre site.

Dernière modification par k3c (Le 15/02/2012, à 08:42)


Acer Aspire One 150 8,9 "
Norhtec avec une Clé Usb bootable http://www.norhtec.com/products/mcsr/index.html

Toshiba Satellite L750

Hors ligne

#6 Le 15/02/2012, à 12:28

Re : [Python] Mechanize

Merci k3c de te pencher sur mon problème, car depuis quelques jours, je sèche.... hmm


Mal-pensant, mais résolument linuxien.

Hors ligne

#7 Le 17/02/2012, à 18:24

k3c

Re : [Python] Mechanize

Bon apparemment c'est lié au fait que le site est en asp.net...


Acer Aspire One 150 8,9 "
Norhtec avec une Clé Usb bootable http://www.norhtec.com/products/mcsr/index.html

Toshiba Satellite L750

Hors ligne

#8 Le 22/02/2012, à 16:23

k3c

Re : [Python] Mechanize

Cette page a du Javascript, que mechanize ne sait pas traiter, voir
http://wwwsearch.sourceforge.net/mechan … tml#script
et les options proposées.


Acer Aspire One 150 8,9 "
Norhtec avec une Clé Usb bootable http://www.norhtec.com/products/mcsr/index.html

Toshiba Satellite L750

Hors ligne

Haut de page ↑