В настоящее время я пытаюсь очистить папку DropBox с помощью Selenium на Python. Очевидно, если я попытаюсь выбрать все гиперссылки (или все элементы, содержащие гиперссылки), я получу только первые 20 или около того результатов. Чтобы дать минимальный рабочий пример:
from selenium import webdriver
browser = webdriver.Chrome()
page = www.dropbox.com/FolderName
browser.get(page)
elementlist = browser.find_elements_by_class_name('brws-file-name-cell-filename')
#or alternatively, you can simply use the 'by_tag_name('a') method, which yields similar results)
elength = len(elementlist)
Обычно elength
находится в порядке от 20 до 30 элементов, который увеличивается до 30-40 Я добавляю команду для прокрутки вниз до нижней части страницы . Я точно знаю, что в папке, которую я пытаюсь очистить, более 200 элементов. Таким образом, мой вопрос: есть ли способ прокручивать страницу вниз постепенно , вместо того, чтобы сразу идти до конца? Я видел, что многие вопросы, задаваемые в одном и том же topi c, сосредоточены на страницах с бесконечной загрузкой, таких как Facebook или другие социальные сети. Моя страница, с другой стороны, имеет фиксированную длину. Есть ли способ прокрутки вниз шаг за шагом, а не все сразу?
ОБНОВЛЕНИЕ
Я попытался последовать совету, данному мне сообществом, и ответом, который вы можете найти здесь . К сожалению, я все еще изо всех сил пытаюсь перебрать высоту, которая является моей интересующей переменной и которая, кажется, застряла в строке. Это была моя лучшая попытка создать l oop по высоте, и, разумеется, она все равно не сработала.
# Get current height
height = browser.execute_script("return document.body.scrollHeight")
while True:
# Scroll down
browser.execute_script('window.scrollTo(0, window.scroll'+str(height)+' + 200)')
# Wait to load page
time.sleep(SCROLL_PAUSE_TIME)
# Calculate new scroll height and compare with last scroll height
new_height = browser.execute_script("return document.body.scrollHeight")
if new_height == height:
break
else:
height = new_height
ОБНОВЛЕНИЕ 2
Я думаю, что нашел проблему. Dropbox в основном имеет структуру «страница внутри страницы». Мне видна вся страница, но есть внутренний архив, по которому мне нужно перемещаться. Есть идеи, как это сделать?