usar tutorial tablas que para panda libreria leer hacer funciones español documentacion datos como comandos python python-3.x selenium selenium-webdriver web-scraping

python - tutorial - No se puede pasar a la página siguiente



pandas python tutorial español pdf (1)

No puede recorrer la lista de elementos predefinidos porque después de hacer click() una página click() actualiza y esos elementos se vuelven obsoletos

Puedes probar a continuación:

from selenium.common.exceptions import NoSuchElementException page_counter = 2 while True: try: if not page_counter % 10 == 1: driver.find_element_by_link_text(str(page_counter)).click() page_counter += 1 else: driver.find_elements_by_link_text("...")[-1].click() page_counter += 1 except NoSuchElementException : break

Esto debería permitirle cambiar a la página siguiente mientras sea posible

He escrito un guión en python con selenio para recorrer diferentes páginas que miran desde la primera página hasta la paginación. Sin embargo, no hay opciones para el botón de la página siguiente a excepción de algunos números. Cuando hago clic en ese número, me lleva a la página siguiente. De todos modos, cuando intento hacer eso con mi script, hace clic en la segunda página y va hacia allí, pero ya no se desliza, quise decir que en lugar de pasar a la tercera página se rompe y arroja el siguiente error.

line 192, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document

Script con el que intento:

from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome() driver.get("http://www.cptu.gov.bd/AwardNotices.aspx") wait = WebDriverWait(driver, 10) driver.find_element_by_id("imgbtnSearch").click() for item in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "#dgAwards > tbody > tr > td > a"))): item.click() driver.quit()

Elementos dentro de los cuales los números de paginación son:

<tr align="right" valign="top" style="font-size:XX-Small;font-weight:normal;white-space:nowrap;"> <td colspan="8"><span>Page: </span><a href="javascript:__doPostBack(''dgAwards$ctl01$ctl01'','''')">1</a>&nbsp;<a href="javascript:__doPostBack(''dgAwards$ctl01$ctl02'','''')">2</a>&nbsp;<span>3</span>&nbsp;<a href="javascript:__doPostBack(''dgAwards$ctl01$ctl04'','''')">4</a>&nbsp;<a href="javascript:__doPostBack(''dgAwards$ctl01$ctl05'','''')">5</a>&nbsp;<a href="javascript:__doPostBack(''dgAwards$ctl01$ctl06'','''')">6</a>&nbsp;<a href="javascript:__doPostBack(''dgAwards$ctl01$ctl07'','''')">7</a>&nbsp;<a href="javascript:__doPostBack(''dgAwards$ctl01$ctl08'','''')">8</a>&nbsp;<a href="javascript:__doPostBack(''dgAwards$ctl01$ctl09'','''')">9</a>&nbsp;<a href="javascript:__doPostBack(''dgAwards$ctl01$ctl10'','''')">10</a>&nbsp;<a href="javascript:__doPostBack(''dgAwards$ctl01$ctl11'','''')">...</a></td> </tr>

Por cierto, la opción de paginación aparece al hacer clic en el botón "buscar" en la página principal.