2010-03-18 8 views
3

J'ai le code suivant:Comment obtenir des résultats javascript en utilisant le sélénium?

from selenium import selenium 

selenium = selenium("localhost", 4444, "*chrome", "http://some_site.com/") 
selenium.start() 

sel = selenium 
sel.open("/") 
sel.type("ctl00_ContentPlaceHolder1_SuburbTownTextBox", "Adelaide,SA,5000") 
sel.click("ctl00_ContentPlaceHolder1_SearchImageButton") 

#text = sel.get_body_text() 
text = sel.get_html_source() 

print(text) 

Le clic exécute un fichier javascript qui produit alors des résultats sur la même page. Évidemment, print(text) affichera uniquement la source html originale. Comment puis-je obtenir les résultats du javascript?

Répondre

4

essayer d'obtenir le contenu d'un élément HTML avec id = votre-id:

sel.get_eval("this.browserbot.getCurrentWindow().document.getElementById('your-id').innerHTML" 
+0

merci - mais pas sûr de ce que votre-id 'est supposé être? – Seth

+0

Je suppose que votre code javascript insérer le code HTML dans quelque chose comme un tag

. – luc

+0

c'est la ligne de javascript que j'essaye d'atteindre: '$ create (AjaxControlToolkit.AutoCompleteBehavior, {" completionInterval ": 50," completionListCssClass ":" saisie semi-automatique "," completionListItemCssClass ":" autocomplete_listItem "," completionSetCount ": 20 , "delimiterCharacters": "", "referencedItemCssClass": "autocomplete_highlightedListItem", "id": "ctl00_ContentPlaceHolder1_AutoCompleteExtender1", "minimumPrefixLength": 4, "serviceMethod": "GetSchoolNames", "servicePath": "AutoComplete.asmx"}, { "itemSelected": ItemSelected}, null, $ get ("ctl00_ContentPlaceHolder1_SchoolNameTextBox")); ' – Seth

Questions connexes