Загрузка файлов через Python Selenium - PullRequest
0 голосов
/ 26 июня 2019

Я пытался загрузить файлы через селен, используя python.Я следовал руководству, которое говорит использовать:

driver.find_element_by_id("IdOfInputTypeFile").send_keys(os.getcwd()+"/image.png")

с этого сайта: http://allselenium.info/file-upload-using-python-selenium-webdriver/

Однако, это работает только после того, как вы вручную нажмете кнопку загрузки, и всплывающий файл opload всплывет.окно, а затем закрыв его.Если я запускаю команду заранее, она ничего не делает.

Однако я не могу закрыть всплывающее окно в селене.Так что это не жизнеспособный метод автоматизации.

1 Ответ

0 голосов
/ 26 июня 2019

если вы загружаете файл в Java или Python, который откроет всплывающее меню окна в то время, можно использовать Autoit всегда, если это Java или Python.AutoIT - лучший вариант для загрузки файла.

Вам нужно только установить AutoIt https://pypi.python.org/pypi/PyAutoIt/0.3 или просто "pip install -U pyautoit" через экран cmd

type "importautoit "на странице вашего скрипта

Перед тем, как в вашем скрипте появится диалоговое окно, введите:

  1. autoit.win_active (" Open ")
  2. autoit.control_send («Open», «Edit1», r «C: \ Users \ uu \ Desktop \ Filename.txt»)
  3. autoit.control_send («Open», «Edit1», «{ENTER}»)

вместо control_send, который вы можете использовать,

autoit.control_set_text("Open","Edit1",r"C:\Users\uu\Desktop\Filename.txt")
скомпилируйте его, чтобы получить файл .exe (Filename.exe) Теперь из python вызовите файл .exe, например

Импортируйте его в свой код,

import os
import os.system('C:\images\Filename.exe') #path of the .exe file

Надеюсь, это поможет вам:)

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