[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