Accéder aux objets d'une frame d'une page web

Le
Ddp Ludo
Bonjour,

Je suis en train de programmer un robot qui doit me permettre de tester si =
un mot de passe par dfaut a bien t chang sur des serveurs de mo=
n intranet.

Et je suis bloqu depuis 2 jours

Structures HTML de la page :

<HTML>
<HEAD>
<frameset>
<frameset id=frmSet>
<frame name=frameMain>
<html>
<head>
<body>
<input id="username">

Je cherche accder remplir le champ username et je tourne en rond=
cause des frames.

J'ai test de la faire avec mechanize. Mais comme on peut le remarquer, i=
l n'y a pas de body dans la page web, donc je ne peux pas instancier l'obje=
t form et obtenir les champs de la page via cette mthode.

Je peux ouvrir directement la page htm o se trouve username et le bouton=
de validation, mais a ne marche pas. Il manque toutes les fonctions par=
entes qui permettent de lancer rellement l'identification.

Voici le dbut de mon code qui fonctionne. Il se connecte ma page et =
me renvoie correctement le code source.

br = mechanize.Browser()
br.set_all_readonly(False)
br.set_handle_robots(False) # ignore robots
br.set_handle_refresh(False) # can sometimes hang without this
br.addheaders = [('User-agent', 'Firefox')]
url = "file:///root/Prog/html/AC1.htm"
response = br.open(url)
print response.read()

Ensuite, on cherchant sur internet, il m'a sembl comprendre que les fram=
es taient renvoyes par la classe links()

lnkList = []
for lnk in br.links():
lnkList.append(lnk.url)
print "Liens : ", lnk.url

Ca me liste correctement les liens.

Mais impossible d'utiliser follow_link(), find_link. je n'y arrive pas .=
impossible d'atteindre mon champ username.

Aprs au mieux, j'arrive rcuprer le pointeur de l'objet frame m=
ais je me sers plus de mechanize.

frame = sys._getframe(2)
print frame

Quelqu'un connait-il une solution ?

Soit dans l'utilisation du code, soit dans mon raisonnement et mon approche=
du problme.

Merci par avance.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Publicité
Poster une réponse
Anonyme