[Python] Selenium 2.0 webdriver api python + tutorial

Riccardo Lemmi riccardo a reflab.com
Mar 17 Maggio 2011 10:56:33 CEST


Balan Victor wrote:

> Scusate ma non ci salto fuori, soprattutto perché manca la documentazione.
> Per esempio ho questo script:
> 
> from selenium import webdriver
> browser=webdriver.Firefox()
> browser.get('http://www.google.it')
> 
> ora voglio vedere tutte le textbox e tutti i bottoni presenti nella pagina,
> come faccio?
> grazie
>

Seleniumhq non ti aiuta ad analizzare la pagina, si usa per eseguire nel browser 
le operazioni che faresti con la tastiera o il mouse.

Io di solito faccio in questo modo:
  - uso Selenium IDE per registrare le azioni 
(http://seleniumhq.org/projects/ide/)
  - esporto in python
  - ri-fattorizzo il codice in modo da avere delle funzioni base riutilizzabili; 
di solito riscrivo e semplifico anche gli xpath generati	

Il risultato di Selenium IDE è una cosa del genere:

from selenium import selenium
import unittest, time, re

class Untitled(unittest.TestCase):
    def setUp(self):
        self.verificationErrors = []
        self.selenium = selenium("localhost", 4444, "*chrome", 
"https://addons.mozilla.org/")
        self.selenium.start()
    
    def test_untitled(self):
        sel = self.selenium
        sel.open("/en-US/firefox/addon/selenium-expert-selenium-ide/")
        sel.click("//div[@id='masthead']/h1/a")
        sel.wait_for_page_to_load("30000")
        sel.click(u"link=Continue reading ?")
        sel.wait_for_page_to_load("30000")
    
    def tearDown(self):
        self.selenium.stop()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()


> Il giorno 13 maggio 2011 20:03, Balan Victor <balan.victor0 a gmail.com> ha
> scritto:
> 
>> grazie,
>> è sono tutti link che ho già visitato solo li ho trovati un po complessi
>> per me, per questo mi sono rivolto alla mailing list.
>> Proverò a sforzarmi e vedo cosa riesco a tirare fuori.
>>
>> Ho altra domanda, oltre all'ide disponibile come plugin per Firefox esiste
>> qualche ide che permette di registrare le azioni compiute e generare codice
>> python in automatico?
>>

Selenium IDE permette sia di registrare le azioni che esportare i comandi in 
vari linguaggi tra cui python (options -> format).


>> Il giorno 13 maggio 2011 14:49, Riccardo Lemmi <riccardo a reflab.com> ha
>> scritto:
>>
>> Balan Victor wrote:
>>>
>>> > qualche settimana fa ho aperto una discussione riguardo strumenti per
>>> > automatizzare operazioni su pagine web.
>>> > Qualcuno di vuoi mi ha suggerito selenium. Ho provato a vedere il sito,
>>> > documentazione ecc. Ho visto che c'è la versione 2.0 alias webdriver.
>>> > Tuttavia non riesco a capire se la nuova versione supporta anche python
>>> o
>>> > solo java e c#. Sul sito ufficiale ho trovato solo riferimenti a java e
>>> c#.
>>> > Inoltre non ho trovato nessuna guida/tutorial/api che descriva meglio il
>>> > funzionamento di questo software.
>>> > Qualcuno mi sa aiutare a trovare qualche risorsa?
>>> > Grazie
>>>
>>> La libreria per collegarti al Selenium Remote Control:
>>>  http://pypi.python.org/pypi/selenium
>>>
>>> La documentazione (minimale) della libreria è qui:
>>>  http://code.google.com/p/selenium/wiki/PythonBindings
>>>
>>> ma è meglio se guardi il codice:
>>>
>>> http://code.google.com/p/selenium/source/browse/#svn%2Ftrunk%2Fpy%2Fselenium
>>>
>>> I comandi del controller:
>>>
>>> http://seleniumhq.org/docs/02_selenium_ide.html#selenium-commands-selenese
>>>
>>> --
>>>                                       Riccardo Lemmi
>>>
>>> _______________________________________________
>>> Python mailing list
>>> Python a lists.python.it
>>> http://lists.python.it/mailman/listinfo/python
>>>
>>
>>

-- 
                                       Riccardo Lemmi



Maggiori informazioni sulla lista Python