Python - Extraer una tabla en una página de pruebas con autenticación.

 
Vista:
sin imagen de perfil

Extraer una tabla en una página de pruebas con autenticación.

Publicado por jonathan (9 intervenciones) el 04/10/2022 01:58:20
Hola colegas.
Tengo una enorme duda: Estoy con selenium y quiero hacer la extracción total de una página y guardarlo en un archivo.html. Ya he hecho extracción de datos con request y manipular el maquetado HTML con beatifulsoap.
Estoy entrando a la página de datos ficticios : https://acme-test.uipath.com/login desde el buscador firefox, inicio sesión y me dirijo selenium a una parte de la página: https://acme-test.uipath.com/vendors/stock (adjunto imagen). El lío es que quiero extraer la totalidad de esa página y luego manipular con beatifulsoap para extraer los datos que hay en una tabla pero no sé cómo. Averiguo por internet y todos los códigos están hechos con Chrome y uso el método
1
xxxx.page_source
donde me sale un error de compatibilidad con firefox y no sé cómo extraer con la librería request cuando se requiere un autenticación de usuario, porque cuando uso request me extrar el maqueteado html del inicio de sesión. por favor ayuda

También intenté obtener la longitud de la tabla pero nuevamente, me arroja error

Este es mi código y perdón por el desorden, estoy haciendo un boceto del código para después añadir las respectivas excepciones.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
 
 
 
# create webdriver object
buscador = webdriver.Firefox()
 
 
 
correo=buscador.find_element("id","email")
correo.send_keys("*******")
 
time.sleep(1)
 
clave=buscador.find_element("id","password")
clave.send_keys("******")
 
 
time.sleep(1)
 
 
accion = ActionChains(buscador)
accion.send_keys(Keys.ENTER)
 
accion.perform()
 
time.sleep(5)
 
 
#Aquí intenté extraer la longitud de la tabla pero nuevamente me aparece error. puesto que con sólo la longitud de la tabla podría hacer 2 ciclos for para extraer cada elemento de la tabla
 
 
vendor=buscador.find_element(By.XPATH, "html/body/div/div[2]/div/div[5]/button")
vendor.click()
 
vendorList=buscador.find_element_by_link_text("Vendors Stock")
vendorList.click()
 
 
time.sleep(25)
 
 
 
tabla=buscador.find_element(By.XPATH,"/html/body/div/div[2]/div[2]/table/tbody/tr[3]/td[2]")
encabezado=buscador.find_element(By.CSS_SELECTOR,".table > tbody:nth-child(1) > tr:nth-child(1) > th:nth-child(2)")
 
tamanno=buscador.find_element(By.XPATH,"/html/body/div/div[2]/div[2]/table")
 
print(len(tamanno))
 
print(encabezado.text)
print(tabla.text)

Screenshot_20221003_184415
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Extraer una tabla en una página de pruebas con autenticación.

Publicado por jonathan (9 intervenciones) el 05/10/2022 19:22:11
Hola colegas.
Ya lo resolví, cualquier duda me comentan.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Extraer una tabla en una página de pruebas con autenticación.

Publicado por Rebeca (1 intervención) el 11/01/2024 16:40:19
Alguna ayuda para la solución
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar