
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 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.

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
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)

Valora esta pregunta


0