Невозможно загрузить файл с помощью веб-драйвера python selenium на http://www.dropzonejs.com
Я пытаюсь загрузить файл, используя веб-драйвер селена. Я получаю диалоговое окно загрузки файла в MacOS и Windows, после чего ничего не происходит. Хотите знать, почему селен не открывает файл через диалог загрузки?
Команды веб-драйвера, которые я использую:
wd.get("http://www.dropzonejs.com/")
wd.find_element_by_css_selector("div.dz-message").click()
wd.find_element_by_css_selector("input.dz-hidden-input").click()
elm = wd.find_element_by_xpath("//input[@type='file']")
elm.send_keys("/Users/bg/Downloads/YOURFILE.PDF")
elm.submit()
2 ответа
Не нажимайте на файл input
элемент - это вызовет диалог загрузки файла, который вы не можете контролировать с помощью selenium
, Отправьте ключи input
а также submit
форма:
elm = wd.find_element_by_xpath("//input[@type='file']")
elm.send_keys("/Users/bg/Downloads/myfile.PDF")
elm.submit()
submit()
в этом случае вызывается на элементе ввода - selenium
нашел бы соответствующий input
Элемент формы и отправить его.
Я наконец нашел код, который искал, чтобы решить мою проблему. Я собираюсь потратить 2 часа на поиски решения моей проблемы. В моем случае мне нужно было отправить изображение моего компьютера в программу через python. На странице есть только 1 кнопка для загрузки фотографии и одна для отправки. Большое спасибо за то, что сделали код доступным
Пример программного питона:
from selenium import webdriver
browser=webdriver.Chrome()
browser.maximize_window()
browser.get(('http://127.0.0.1/namepage.exp'))
elm = browser.find_element_by_xpath('//*[@id="exp_file"]') #
elm.send_keys("C:\PycharmProjects\\varios\image.png")
elm.submit()