Я пытаюсь загрузить файл с веб-сайта, используя селен в Python.Я использую chrome webdriver для выполнения следующих действий:
- Я нажимаю кнопку, чтобы загрузить набор данных, и добавляю неявное ожидание
time.sleep(4)
, чтобы дождаться начала загрузки - Затем я выбираю раскрывающийся список для следующего набора данных.
Проблема заключается в том, что, когда начинается загрузка файла, всплывающая строка загрузки и окно изменяются в размере.Это вызывает код JavaScript, который обновляет страницу, чтобы исправить пользовательский интерфейс.Из-за этого выпадающий выбор иногда происходит перед обновлением страницы, что приводит к тому, что код перестает публиковать обновление.
Это возможные обходные пути, которые я могу придумать
- Увеличить время неявного ожидания (Неэффективно и приходится использовать неявное ожидание. Не удается дождаться, пока элемент будет видимым, поскольку на ту же страницу загружаются те же элементы)
- Отключить JavaScript ввесь профиль вебдрайвера (он мне нужен для загрузки других элементов, плюс я не могу передать аргументы веб-драйверу из-за IT-ограничений)
- Загрузить файл в отдельном окне, похожем на этот ответ (опять же, неэффективный)
- Нажмите
Ctrl
+ J
немедленно, чтобы пропустить панель загрузки браузера из всплывающего окна ( Ярлыки браузера не работают сChrome Webrowser )
Я немного новичок в автоматизированном тестировании, поэтому любые другие идеи, которые могут у вас возникнуть, будут полезны.