Comment faire une boucle sur un href dynamique avec Selenium-Python?
J'aimerais faire une boucle sur un href dynamique. En effet, je télécharge un ensemble de fichiers par pages. Sur chaque page, je télécharge 100 fichiers text mais je dois télécharger 200 000 fichiers. Ainsi, je dois cliquer sur le bouton suivant 2 000. Pour ce faire, j'ai récupéré l'adresse href du bouton suivant mais malheureusement, deux objects changent dans ce lien, le numéro de page 1,2,3, etc et une chaîne de caractère. Veuillez regarder ci-dessous un exemple de href du bouton suivant qui change.
Code:
1 2 3 4 5 6 7 8
|
href="https://search.proquest.com/something/E6981FD6D11F45E8PQ/2?accountid=12543#scrollTo"
href="https://search.proquest.com/something/E6981FD6D11F45E8PQ/3?accountid=12543#scrollTo"
href="https://search.proquest.com/something/61C27022597C4092PQ/4?accountid=12543#scrollTo"
href="https://search.proquest.com/something/E431552DC6554BF7PQ/5?accountid=12543#scrollTo" |
#Avant j'avais ajouté le librairies de Selenium dont j'ai besoin.
Code:
1 2 3 4 5 6 7
|
n=2000
for i in range(1,n):
href="https://search.proquest.com/something/715376F5A5AF44BBPQ/" + str(i) + "?accountid=12543#scrollTo"
driver.get(href)
#ici, j'ai ajouté le code pour télécharger les fichiers sur chaque page |
Merci pour votre aide,
1 pièce(s) jointe(s)
Comment identifier le xpath du bouton d'une page suivante avec Selenium ?
Bonjour chers experts,
Svp, je viens encore donner plus de détails sur ce que j'ai envie de faire. En effet, j'aimerais savoir comment identifier le xpath du button me permettant d'accéder à la page suivante. J'ai essayé de faire avec le title mais cela ne marche pas. Voici ci-dessous mon code en utilisant selenium, vous pouvez vérifier si je devrais choisir un autre élément pertinent pour le xpath de la page suivante
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
hile True:
scraping()
try:
#Checks if there are more pages with links
next_link = driver.find_element_by_xpath("//*[@title='Page suivante']")
drive.execute_script("arguments[0].scrollIntoView();", next_link)
next_link.click()
#Time sleep
time.sleep(20)
except NoSuchElementException:
pages_rows= False |
voici l'image du bouton de la page suivante après inspect:
Pièce jointe 472155
Merci,
Bien cordialement,