Здравствуйте! Пытаюсь на сайте загрузить файл,организована загрузка на нём-1)нажимаем кнопку загрузить-2)Выбираем файл -3)Нажимаем загрузить на сайт
Почитал говорят данная проблема решается просто, находим элемент и посылаем в него через send_keys(“Путь\к\нашему\файлу”), собственно,что я и пытаюсь сделать,но у меня не работает данный метод. Пример кода:
##Копия ОСАГО
##
Во-первых, экранируйте слеши, во-вторых, если не поможет, попробуйте другой wait использовать. Xpath точно правильный? Кнопку загрузки нажимали после этого?)
Другой wait это увеличить время?пытался ещё методом писали,что попробовать в невидемое поле input-"//*[@id=“p1b6q3774ogu11nhlq5j32m12l71_html5”]" пробовать посылать путь к файлу,но тоже не получается.
"//a[@id=‘Form25011.FormStep50.Panel51.passport_copy:upload’])))-получил такой xpath через selenium IDE
Какую кнопку загрузки?Если кликать в окно открытия диалога загрузки,оно открывается,но дальше процесс встаёт.
Подскажите может кто знает такую вещь у этого невидимого поля постоянно изменяется его ID после перезагрузки страницы выше писал его прошлый после перезагрузки стал таким-" //*[@id=“p1b6qf8u0o186s1s8kahj15b310081_html5”]"
После того как вы указали в input путь к файлу вам нужно засабмитить форму, а для этого нужно нажать на кнопку или совершить еще какое-то магическое па, зависит от реализации Да, и вы могли ошибиться с input’ом, их бывает несколько штук иногда для одной сущности. По поводу динамического ID у input, попробуйте привязаться к чему-то другому, xpath он могучий
Подскажите пожалуйста,как вообще составляют XPATH элемента,я знаю есть куча ссылок но всё может подскажешь метод вкраце?я пока только захожу в браузер и могу посмотреть код и скопировать XPATH.Могу ещё скинуть сохранённую HTML
Не знаю точно может и работает у вас у меня нет, скорее всего потому-что пишу не так что-то. File cv мне получается нужно объявить как функцию и потом её использовать? Зачем тут знак $ я тоже не особо понял.
Сделал таким образом всё заработало, спасибо всем, кто отписался в тему,может кому будет полезно попробуйте так же я сам долго мучился по незнанию.
PassportCopy=driver.find_element_by_xpath("//input[@type=‘file’]")
PassportCopy.send_keys(“C:\Users\maxim.rublev\Desktop\IMG_1406.JPG”)
По такому Xpath загрузил файл:
1)Берём за локатор атрибут type скрытого поля, который содержит значение ‘file’
2)Посылаем туда путь через send_keys(“с:\наш\файл”)
3)Не нажимая кнопки загрузить переходим на следующий шаг элемент подгружается успешно