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> <a href="javascript:__doPostBack(''dgAwards$ctl01$ctl02'','''')">2</a> <span>3</span> <a href="javascript:__doPostBack(''dgAwards$ctl01$ctl04'','''')">4</a> <a href="javascript:__doPostBack(''dgAwards$ctl01$ctl05'','''')">5</a> <a href="javascript:__doPostBack(''dgAwards$ctl01$ctl06'','''')">6</a> <a href="javascript:__doPostBack(''dgAwards$ctl01$ctl07'','''')">7</a> <a href="javascript:__doPostBack(''dgAwards$ctl01$ctl08'','''')">8</a> <a href="javascript:__doPostBack(''dgAwards$ctl01$ctl09'','''')">9</a> <a href="javascript:__doPostBack(''dgAwards$ctl01$ctl10'','''')">10</a> <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.