2009-10-22 10 views
1

fonction browser.getEval en sélénium fait iterateNext retour ..Otherwise null dans Firebug, il renvoie une valeur (même script)Pourquoi document.evaluate réussit dans Firebug mais échoue dans Selenium?

document.evaluate("//button[text()='Save']", 
        document, 
        null, 
        XPathResult.ANY_TYPE, 
        null) 
     .iterateNext() 
     .disabled; 

renvoie true

Mais

browser.getEval("document.evaluate(\"//button[text()='Save']\", 
            document, 
            null, 
            XPathResult.ANY_TYPE, 
            null) 
         .iterateNext() 
         .disabled;"); 

renvoie cette erreur :

"com.thoughtworks.selenium.SeleniumException: ERROR: Threw an exception: res.iterateNext() is null "

Répondre

1

Essayez de remplacer document.evaluate avec this.browserbot.getUserWindow().document.evaluate

+0

qui ne marche pas le travail! – anil

+0

this.browserbot is undefined – anil

+0

Utilisez-vous Selenium IDE ou RC? Si RC, quelle langue client utilisez-vous? Peut-être pourriez-vous fournir un peu plus de code d'exemple. –

0
window.document.evaluate() 
0

Essayez de remplacer

document.evaluate 

avec

selenium.browserbot.getCurrentWindow().document.evaluate 
+0

n'a pas fonctionné pour moi. "sélénium" n'est pas défini –

Questions connexes