Почему действия становятся медленнее после нажатия на несколько ссылок с Selenium? - PullRequest
0 голосов
/ 07 июня 2019

Я использую Python и Selenium для загрузки некоторых файлов на веб-странице.Страница состоит из 10 ссылок, по которым можно кликнуть для загрузки файла.Для перехода по первым ссылкам требуется менее 1 секунды, но затем для перехода по другой ссылке требуется около 5 секунд.Итак, почему селен становится медленнее со временем?Любые идеи или решения, пожалуйста?Я думал о проблеме с памятью, но после 2-3 кликов по ссылкам у меня появилась эта проблема.Это довольно странно.

Моя методология очень проста: я нахожу все элементы, по которым нужно щелкнуть (сохраненные в списке), а затем с помощью цикла for нажимаю на каждый элемент этого списка.Я измеряю время каждой итерации и отображаю его.

(частичный код)

elems = driver.find_elements_by_partial_link_text('Download (')
    for elem in elems:
        start_time = time.time() #start time-counter
        elem.click() #click on each element
        elapsed_time = time.time() - start_time #stop time-counter
        print(str(elem.text) + ' = ' + str(elapsed_time)) #display time

Вот результаты моего кода:

  1. Скачать(1 608 КБ) = 0,03755545616149902
  2. Загрузить (1,373 КБ) = 0,21751904487609863
  3. Загрузить (864 КБ) = 0,2306530475616455
  4. Загрузить (759 КБ) = 5,218845844268799
  5. Загрузить (792 КБ) = 5,259352922439575
  6. Загрузить (711 КБ) = 5,227159023284912
  7. Загрузить (684 КБ) = 5,270978689193726
  8. Download (708 КБ) = 5.2504565715789795
  9. Download (547 КБ) = 5.232625484466553

Таким образом, каждая строка представляет итерацию.Мы видим, что 3 первых клика занимают менее 1 секунды, а после этого клик занимает 5 секунд.

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...