Come contare le righe nella tabella dall'applicazione Web utilizzando il driver web del selenio python. Qui possiamo recuperare tutti i dati nella tabella dall'applicazione web ma non possiamo contare le righe e le colonne, per favore mi dia un'idea di come farlo.Come contare il numero di righe nella tabella dall'applicazione Web utilizzando il webdriver selenio python
risposta
Prova qualche cosa come questa
int rowCount=driver.findElements(By.xpath("//table[@id='DataTable']/tbody/tr")).size();
int columnCount=driver.findElements(By.xpath("//table[@id='DataTable']/tbody/tr/td")).size();
FYI: Questa è l'implementazione in Java.
Il selenio ha una funzione per il conteggio del risultato XPath, vedere http://release.seleniumhq.org/selenium-core/1.0/reference.html. In base a questo puoi usare storeXpathCount.
Sto usando la classe DefaultSelenium dal selenio-java-client-pilota, dove posso usare (anche in java) il seguente:
int rowCount = selenium.getXpathCount("//table[@id='Datatable']/tbody/tr").intValue()
risposta di Santoshsarma è vicino a correggere per Java, ma è conterrà il numero di celle anziché il numero di colonne. Ecco una versione di Python che conterà il numero di colonne in prima fila:
row_count = len(driver.find_elements_by_xpath("//table[@id='DataTable']/tbody/tr"))
column_count = len(driver.find_elements_by_xpath("//table[@id='DataTable']/tbody/tr/td"))
Se la tabella ha un colpo di testa si potevano contare le colonne lì, invece.
Non ho provato a utilizzare storeXpathCount.
È possibile farlo utilizzando find_elements_by o execute_script.
Recupero conteggio applicando len sul risultato di find_elements_by è il modo corretto, ma in altra sua volta ottenere conteggio delle righe e colonne utilizzando execute_script è abbastanza veloce quindi ottenere len
dal risultato di find_elements_by
chiamata di metodo:
rows_count = driver.execute_script("return document.getElementsByTagName('tr').length")
columns_count = driver.execute_script("return document.getElementsByTagName('tr')[0].getElementsByTagName('th').length")
di seguito è metriche di performance di utilizzare find_elements_by vs execute_script approccio:
from timeit import timeit
# Time metrics of retrieving 111 table rows
timeit(lambda:driver.execute_script("return document.getElementsByTagName('tr').length"), number=1000)
# 5.525
timeit(lambda:len(driver.find_elements_by_tag_name("tr")), number=1000)
# 9.799
timeit(lambda:len(driver.find_elements_by_xpath("//table/tbody/tr")), number=1000)
# 10.656
# Time metrics of retrieving 5 table headers
timeit(lambda:driver.execute_script("return document.getElementsByTagName('tr')[0].getElementsByTagName('th').length"), number=1000)
# 5.441
timeit(lambda:len(driver.find_elements_by_tag_name("th")), number=1000)
8.604
timeit(lambda:len(driver.find_elements_by_xpath("//table/tbody/th")), number=1000)
# 9.336
Per gli utenti Python il modo più semplice per contare un tag è il seguente.
!#use find_elements_by_xpath
test_elem = self.driver.find_elements_by_xpath("//div[@id='host-history']/table[1]/tbody[1]/tr")
!#then check the len of the returnes list
print (len(test_elem))
- 1. Ottieni il numero di righe nella tabella utilizzando SQLAlchemy
- 2. pagina web Scorrimento usando il selenio python WebDriver
- 3. Come ottenere il numero di righe nella tabella di Cassandra
- 4. Come catturare il traffico di rete usando il selenio webdriver e il proxy browsermob su Python?
- 5. Come scorrere verso il basso utilizzando Selenio WebDriver con Java
- 6. Contare il numero di righe in una tabella non utilizzando jQuery
- 7. Come contare il numero di osservazioni in una tabella SAS?
- 8. Come contare il numero di righe in PowerShell
- 9. Selenio WebDriver esempio in Python
- 10. Come contare il numero di righe in una tabella di database in Django
- 11. Impossibile connettersi al browser utilizzando il webdriver di selenio rubino
- 12. Selenio: impossibile individuare il collegamento nella tabella
- 13. Zend_Db: come ottenere il numero di righe da una tabella?
- 14. il download di file utilizzando il selenio
- 15. Recupera il contenuto della meta description dalla pagina web utilizzando il webdriver selenio
- 16. Contare il numero di righe all'interno di ciascun gruppo
- 17. Ottieni la versione del browser utilizzando il selettore web selenio
- 18. Cambiare l'agente utente utilizzando il selenio WebDriver in Java
- 19. Contare il numero di righe restituite in OOP PHP
- 20. Contare il numero totale di righe in un progetto XCode
- 21. Ottieni il numero di righe in una tabella HTML
- 22. Come posso contare il numero di bambini?
- 23. Contare il numero di caselle di immissione vuote nella riga della tabella
- 24. Come sfogliare un intero sito Web utilizzando il selenio?
- 25. pandas python come contare il numero di record o righe in un dataframe
- 26. MySQL - contare il numero di Unique Valori
- 27. Come contare le righe in Lift (framework web Scala)
- 28. PHP - Contare il numero di virgole nella stringa
- 29. Come contare il numero di elementi in queryset senza contare()
- 30. Attiva/disattiva il numero variabile di righe di tabella
sto usando il driver web Python. Questa funzione size() non funziona lì. –
Vedere questo link: http://selenium.googlecode.com/git/docs/api/py/webdriver_remote/selenium.webdriver.remote.webelement.html#selenium.webdriver.remote.webelement.WebElement.find_elements_by_xpath ---- ---> Penso che in python len sia il metodo per trovare la lunghezza/dimensione della lista – Santoshsarma