Добрый день!
Если кратко - пытаюсь на связке windows+selenium+python сделать пост с картинкой в инстаграме
Запнулся на моменте когда всплывает виндовое окно для выбора картинки на локальном диске
В гугле предлагают примерно такие варианты
1 - найти поле типа
<input type="file">
и передать туда через sendKeys путь до загружаемого файла, и сабмитнуть форму
2 - модифицировать html и добавить самому форму для отправки картинки и собсно отправить...
3 - использовать pyautogui и взаимодействовать с виндовым окном загрузки
Со всеми 3мя способами у меня не получилось
1й способ предполагает наличие такого поля - я не смог найти его в исходном коде страницы, судя по всему все перехватывает javascript и сам все далет
2й способ - если посмотреть что отправляет инстаграм при загрузки изображения - там еще огромная туча данных, помимо самого файла отправляется - попытался поотправлять POST запрос с примерно такими же данными - не прокатило, нужен точный набор данных
Вот для примера что отправляет инстаграм при обычной загрузки файла
access_token: 1217981644879628|65a937f07619e8d4dce23
message: {"app_uid":"33053346601","app_id":"1217981644879628","app_ver":"1.0.0","data":[{"time":1593439568.264,"name":"instagram_web_time_spent_bit_array","extra":{"ig_userid":33053346601,"pk":33053346601,"rollout_hash":"4f336da7de59","frontend_env":"prod","qe":{"felix_clear_fb_cookie":"control"},"app_id":"1217981644879628","tos_id":"ggll36","start_time":1593439567,"tos_array":[3,0],"tos_len":2,"tos_seq":58,"tos_cum":146,"log_time":1593439568264,"referrer":"https://www.instagram.com/","referrer_domain":"www.instagram.com","url":"/","original_referrer":"","original_referrer_domain":""}},{"time":1593439568.314,"name":"instagram_web_client_events","extra":{"event_type":"action","event_name":"cameraIconClick","mid":"XvnjAAABAAGxLsqdwcElewYTZ7mf","ig_userid":33053346601,"pk":33053346601,"rollout_hash":"4f336da7de59","frontend_env":"prod","qe":{"felix_clear_fb_cookie":"control"},"app_id":"1217981644879628","referrer":"https://www.instagram.com/","referrer_domain":"www.instagram.com","original_referrer":"","original_referrer_domain":""},"module":null,"obj_type":"url","obj_id":"/"},{"time":1593439568.317,"name":"instagram_web_creation","extra":{"ig_userid":33053346601,"pk":33053346601,"rollout_hash":"4f336da7de59","frontend_env":"prod","qe":{"felix_clear_fb_cookie":"control"},"app_id":"1217981644879628","event_name":"enter_flow","creation_session_id":"bhbhaymujbl","stage":"camera_entry_page","entry_ref":"camera_icon","gl_supported":true,"gl_renderer":"ANGLE (NVIDIA GeForce GTX 1060 6GB Direct3D11 vs_5_0 ps_5_0)","referrer":"https://www.instagram.com/","referrer_domain":"www.instagram.com","url":"/","original_referrer":"","original_referrer_domain":""}}],"log_type":"client_event","seq":3,"session_id":"17300660254-f83fa3","device_id":"870B514C-EC1F-4695-B011-919D85B14C78","claims":["hmac.AR1O1_jrBcY1WMWiG54J6RTQAL-Q92OfdWYJZ2StEMrccxn0"]}
3 с использованием pyautogui тоже не все так просто - как я понял - pyautogui не умеет понимать какое окно сейчас активно, и не умеет сменить фокус - а без этого остается только в слепую по координатам искать поле и кликать в надежде что попал куда надо - в общем тоже надежды мало
Я понимаю что просить готовый код слишком нагло, но не могли бы вы прокомментировать мою проблему и дать советы как решить проблему или в какую сторону можно еще покопать