2010-07-30 16 views
1

J'ai un problème pour identifier une étiquette sur une page générée par jQuery. Ceci est le code de la page (vu dans firebug). alt textProblème lors de la recherche d'éléments avec fireWatir sur une page créée par JQuery

Je suis en train de le trouver en utilisant cette déclaration,

assert(browser.label(:id, "acms-ws-select-label").exists?) 

Mettez il ne trouve pas l'étiquette. Des idées sur ce que je fais mal? Mise à jour: exécuter le même script dans IE avec Watir, semble trouver l'élément.

+0

Quand le code exécuté? Si elle s'exécute avant que jQuery ne crée les éléments, ils ne seront pas là :) –

+0

Alors devrais-je mettre un délai pour donner à jQuery le temps de créer les éléments? L'élément est chargé dès le chargement de la page. BTW exécutant le même script dans IE avec Watir, semble trouver l'élément. –

+0

Trop d'eau d'incendie dans mon FireWatir pourrait causer un incendie M. Watir. (désolé n'a pas pu résister) –

Répondre

1

de Essayez d'utiliser wait_until et voir si cela fait une différence.

Watir :: Waiter.wait_until {browser.label (id: "ACMS-ws-select-label") existe.?}

+0

Cela a fait l'affaire merci –

0

Essayer de faire une petite veille, avant la vérification, juste pour donner le temps à la javascipt de rendre la page.

IE peut être en train d'exécuter la tâche jquery plus tôt ou plus vite, ou d'exécuter le paramètre watir légèrement plus lentement (l'un ou l'autre le ferait) pour que cela soit fait au moment de la vérification.

Vous pouvez également utiliser une invite CISR pour exécuter les étapes de Firewater manuellement, si cela fonctionne, alors vous savez à peu près sûr que ce sera un problème de synchronisation