Avevo già considerato questa possibilità però putroppo seleniu ide non è compatibile con Firefox 4 e non conosco nessun altro strumento che mi possa aiutare in questa operazione. Poi ho un'altro problema, alcune pagine che voglio analizzare hanno un layout diverso a seconda che si visualizzino con IE o altri browser.<div>
<div><div><br><div class="gmail_quote">Il giorno 17 maggio 2011 10:56, Riccardo Lemmi <span dir="ltr"><<a href="mailto:riccardo@reflab.com">riccardo@reflab.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">Balan Victor wrote:<br>
<br>
> Scusate ma non ci salto fuori, soprattutto perché manca la documentazione.<br>
> Per esempio ho questo script:<br>
><br>
> from selenium import webdriver<br>
> browser=webdriver.Firefox()<br>
> browser.get('<a href="http://www.google.it" target="_blank">http://www.google.it</a>')<br>
><br>
> ora voglio vedere tutte le textbox e tutti i bottoni presenti nella pagina,<br>
> come faccio?<br>
> grazie<br>
><br>
<br>
</div>Seleniumhq non ti aiuta ad analizzare la pagina, si usa per eseguire nel browser<br>
le operazioni che faresti con la tastiera o il mouse.<br>
<br>
Io di solito faccio in questo modo:<br>
- uso Selenium IDE per registrare le azioni<br>
(<a href="http://seleniumhq.org/projects/ide/" target="_blank">http://seleniumhq.org/projects/ide/</a>)<br>
- esporto in python<br>
- ri-fattorizzo il codice in modo da avere delle funzioni base riutilizzabili;<br>
di solito riscrivo e semplifico anche gli xpath generati<br>
<br>
Il risultato di Selenium IDE è una cosa del genere:<br>
<br>
from selenium import selenium<br>
import unittest, time, re<br>
<br>
class Untitled(unittest.TestCase):<br>
def setUp(self):<br>
self.verificationErrors = []<br>
self.selenium = selenium("localhost", 4444, "*chrome",<br>
"<a href="https://addons.mozilla.org/" target="_blank">https://addons.mozilla.org/</a>")<br>
self.selenium.start()<br>
<br>
def test_untitled(self):<br>
sel = self.selenium<br>
sel.open("/en-US/firefox/addon/selenium-expert-selenium-ide/")<br>
sel.click("//div[@id='masthead']/h1/a")<br>
sel.wait_for_page_to_load("30000")<br>
sel.click(u"link=Continue reading ?")<br>
sel.wait_for_page_to_load("30000")<br>
<br>
def tearDown(self):<br>
self.selenium.stop()<br>
self.assertEqual([], self.verificationErrors)<br>
<br>
if __name__ == "__main__":<br>
unittest.main()<br>
<div class="im"><br>
<br>
> Il giorno 13 maggio 2011 20:03, Balan Victor <<a href="mailto:balan.victor0@gmail.com">balan.victor0@gmail.com</a>> ha<br>
> scritto:<br>
><br>
>> grazie,<br>
>> è sono tutti link che ho già visitato solo li ho trovati un po complessi<br>
>> per me, per questo mi sono rivolto alla mailing list.<br>
>> Proverò a sforzarmi e vedo cosa riesco a tirare fuori.<br>
>><br>
>> Ho altra domanda, oltre all'ide disponibile come plugin per Firefox esiste<br>
>> qualche ide che permette di registrare le azioni compiute e generare codice<br>
>> python in automatico?<br>
>><br>
<br>
</div>Selenium IDE permette sia di registrare le azioni che esportare i comandi in<br>
vari linguaggi tra cui python (options -> format).<br>
<div><div></div><div class="h5"><br>
<br>
>> Il giorno 13 maggio 2011 14:49, Riccardo Lemmi <<a href="mailto:riccardo@reflab.com">riccardo@reflab.com</a>> ha<br>
>> scritto:<br>
>><br>
>> Balan Victor wrote:<br>
>>><br>
>>> > qualche settimana fa ho aperto una discussione riguardo strumenti per<br>
>>> > automatizzare operazioni su pagine web.<br>
>>> > Qualcuno di vuoi mi ha suggerito selenium. Ho provato a vedere il sito,<br>
>>> > documentazione ecc. Ho visto che c'è la versione 2.0 alias webdriver.<br>
>>> > Tuttavia non riesco a capire se la nuova versione supporta anche python<br>
>>> o<br>
>>> > solo java e c#. Sul sito ufficiale ho trovato solo riferimenti a java e<br>
>>> c#.<br>
>>> > Inoltre non ho trovato nessuna guida/tutorial/api che descriva meglio il<br>
>>> > funzionamento di questo software.<br>
>>> > Qualcuno mi sa aiutare a trovare qualche risorsa?<br>
>>> > Grazie<br>
>>><br>
>>> La libreria per collegarti al Selenium Remote Control:<br>
>>> <a href="http://pypi.python.org/pypi/selenium" target="_blank">http://pypi.python.org/pypi/selenium</a><br>
>>><br>
>>> La documentazione (minimale) della libreria è qui:<br>
>>> <a href="http://code.google.com/p/selenium/wiki/PythonBindings" target="_blank">http://code.google.com/p/selenium/wiki/PythonBindings</a><br>
>>><br>
>>> ma è meglio se guardi il codice:<br>
>>><br>
>>> <a href="http://code.google.com/p/selenium/source/browse/#svn%2Ftrunk%2Fpy%2Fselenium" target="_blank">http://code.google.com/p/selenium/source/browse/#svn%2Ftrunk%2Fpy%2Fselenium</a><br>
>>><br>
>>> I comandi del controller:<br>
>>><br>
>>> <a href="http://seleniumhq.org/docs/02_selenium_ide.html#selenium-commands-selenese" target="_blank">http://seleniumhq.org/docs/02_selenium_ide.html#selenium-commands-selenese</a><br>
>>><br>
>>> --<br>
>>> Riccardo Lemmi<br>
>>><br>
>>> _______________________________________________<br>
>>> Python mailing list<br>
>>> <a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
>>> <a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
>>><br>
>><br>
>><br>
<br>
</div></div>--<br>
<div><div></div><div class="h5"> Riccardo Lemmi<br>
<br>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</div></div></blockquote></div><br></div></div></div>