Сценарии Python, использующие селен, ведут себя по-разному при вызове из планировщика задач, но работают так, как задумано, при запуске из spyder или командной строки - PullRequest
2 голосов
/ 07 ноября 2019

Я создал программу на python, которая использует селен и хромедрайвер. Я не могу успешно запустить этот скрипт (или любой другой, использующий селен) из TaskScheduler в любом случае. Тем не менее, он работает отлично и выполняет все задачи, которые мне нужны, когда я запускаю его из Spyder. Он также отлично работает при входе в систему, когда я вызываю его через командную строку.

Что делает программа при работе по назначению: Запускает браузер Chrome. Автоматизирует клики и запросы страниц. Скачивает файл. -пополняет файлы с файлами, не относящимися к этому посту-

Что делает программа при вызове из TaskScheduler: Запускает Chrome, но не отображается (нет видимого браузера, кроме диспетчера задачраспознает, что chromedriver и chrome постоянно запускаются и запускаются после вызова скрипта) Все мои щелчки по элементам выполняются по полному xpath, поэтому я подумал, что, возможно, невидимый браузер не сломает его, но он действительно потерпит неудачу, никогда не загружая файлскачать.

Возможно, важная информация: Мой chromedriver не находится на пути, но установлен через driver = webdriver.Chrome (r'F: \ chromedriver.exe '), и это работает абсолютно нормально, когда запускается Spyder или командойстрока.

Ввод планировщика заданий. Действие: Запустить программу. Программа / сценарий: C: \ ProgramData \ Anaconda3 \ python.exe Добавить аргументы (необязательно): "C: \ Users \ [My_redacted_name] \. spyder-py3\ [Client's_redacted_name] \ [redacted_task] .py "

Что я знаю: Рабочий каталог, предложенный в Сценарий Python, не запущенный в планировщике задач , ничего не исправляет.

Запуск из командной строки C: \ ProgramData \ Anaconda3 \ python.exe C: \ Users \ [My_redacted_name] \. Spyder-py3 \[Client's_redacted_name] \ [redacted_task] .py дает точные результаты, как и предполагалось

Никакие другие программы, с которыми я работал, не сталкивались с такой проблемой, и у меня есть десятки программ, запущенных через TaskScheduler с функциональностью, аналогичной всемкомпоненты ДРУГИЕ чем селен / хромедрайвер.

На самом деле у меня есть два сценария, использующих селен, которые сталкиваются с одной и той же проблемой при запуске из командной строки. Их задачи более или менее одинаковы, поэтому решение ОДНОГО должно решать другое, но следует отметить, что проблема не уникальна для отдельного сценария, а вместо этого уникальна для сценариев, использующих селен и выполняющихся из планировщика задач

Я также вижу Selenium - Использование Windows Task Scheduler против командной строки , и я пытаюсь выяснить, может ли помочь один ответ с 0 голосами, но я не уверен, что проблема действительно та же, учитывая еебыл для IE и на Java.

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