Как сделать цикл динамической ссылки HREF с селеном в Python? - PullRequest
1 голос
/ 10 апреля 2019

Я хотел бы сделать цикл на динамическом href.Действительно, я загружаю набор файлов на страницу.На каждой странице я загружаю 100 текстовых файлов, но мне нужно загрузить 200 000 файлов.Итак, мне нужно нажать кнопку «Далее» в 2000 году. Для этого я получил адрес href следующей кнопки, но, к сожалению, в этой ссылке изменились два объекта: номер страницы 1,2,3 и т. Д. И строкаперсонажи.Пожалуйста, см. Прилагаемый образец следующей кнопки, которая изменяется.

https://search.proquest.com/something/E6981FD6D11F45E8PQ/2?accountid=12543#scrollTo

https://search.proquest.com/something/E6981FD6D11F45E8PQ/3?accountid=12543#scrollTo

https://search.proquest.com/something/61C27022597C4092PQ/4?accountid=12543#scrollTo

https://search.proquest.com/something/E431552DC6554BF7PQ/5?accountid=12543#scrollTo

Я новый пользователь Python.Мой уровень плохой.

#Before I add selenium setup for scraping. 

n=2000

for i in range(1,n):
    href="https://search.proquest.com/something/715376F5A5AF44BBPQ/" + str(i) + "?accountid=12543#scrollTo"
    driver.get(href)

#Here, I add the code which allows downloading for each page.

Ответы [ 2 ]

0 голосов
/ 04 мая 2019

@ 나 민오 Мне нужна помощь в определении xpath для кнопки «Следующая страница». Моя цель состоит в том, чтобы просматривать страницы в Python Selenium. Ниже приведен код кнопки следующей страницы после проверки на странице URL на этом изображении.

изображение кнопки на следующей странице после проверки

Я пытаюсь написать следующий код на python с селеном, чтобы загрузить файл постранично.

while True:

scraping()          # here I call my function that allows to download the files per page

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
0 голосов
/ 11 апреля 2019

Пример ссылки для меня недоступен (я не могу зарегистрироваться)

Первый ..

что такое "строка символов" ?

номер книги? или номер категории?

если это просто случайная строка, я думаю, вы должны найти другой путь.

Как насчет использования ActionChain ? или driver.execute_script () ?

Прежде всего, на мой взгляд, поиск значения строки (из .js или .html) является более важным.

...