Wpis z mikrobloga

#python #selenium #windows
#programowanie

Robię małą automatyzacje na Internet Explorer (na chromie i firefoxie strona nie działa) korzystając z Selenium. Niestety po kilkunastu krokach napotkałem blokadę a dokładnie pobieranie pliku. Gdy klikam ikonke pobierania to wyskakuje na dole okienko popup/prompt i kod pythonowy zatrzymuje się i dalej nie idzie - jak by miał breakpoint. Chciałem wyłączyć możliwość pojawiania się komunikatów w IE ale niestety w IE 11 nie ma pewnych opcji i nie da się wyłączyć tego. Nie wiem jak mógłbym pominąć te wyskakujące okienka i żeby pliku po kliknięciu przycisku download się pobrał na dysk.

Jest jedna opcja która przyszła mi do głowy jednak nie dokonuje działa bo kod się nie wykonuje jak wyskoczy ten popup, mianowicie mogę wykorzystać skrót klawiszowy ALT+S i wtedy w tym popupie kliknie się Save jednak z przyczyn wymienionych wyżej to polecenie nie chce się wykonać.

Macie jakieś pomysły jak to zrobić?
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Gdy klikam ikonke pobierania to wyskakuje na dole okienko popup/prompt i kod pythonowy zatrzymuje się i dalej nie idzie


@PiotrokeJ: Daj screena z tego okienka, bo nie do końca wiem o czym mówisz. Czy to okno przeglądarki, popup na stronie, itp. To się inaczej rozwiązuje.
Czy obok pobrania pliku strona wykonuje jeszcze jakąś akcję?
Planujesz później coś z tym plikiem robić?
  • Odpowiedz
Użyj biblioteki robot i przekljkaj tabami i enterem może?
Sprawdź też obsługę popup Windows selenium, lub można zaimplementować jakieś inne narzędzie w kodzie selenium, jakiś klikacz.
Mozesz też spróbować wywołać procedurę js bezpośrednio
  • Odpowiedz
@m0rdeczka: chciałem wykorzystać biblioteke pyautogui gdzie po wyskoczeniu popupa wcisnę ALT+S i plik się zapisze ale jak popup wyskakuje to mój skrypt pythonowy się zatrzymuję i nie leci niżej tak jak by dostał breakpointa i dopóki ręcznie nie przeklikam tego popupa to nie chce dalej pójść
  • Odpowiedz
@m0rdeczka: zrobiłem tak jak zaproponowałeś czyli pobralem kod js. W następnej linijce go odpaliłem z selenium i popup wyskoczył jednak kod mógł wykonywać się dalej więc zrobiłem szybkiego hotkeya do przeklikiwania tego popupa. Na razie wszystko działa, dzięki za pomoc
  • Odpowiedz
@PiotrokeJ: No jest problem na tych korporacyjnych aplikacjach webowych, niedość że musisz to odpalać w IE, bo tak. To jeszcze poukrywane wszystko, tu dynamiczne, tu niewiadomo czemu i kombinuj z obsługą tych durnych okienek.
Ja implementowałem jeszcze robota no i odpalałem metode JS bo nie mogłem jednego buttonu kliknąć przez lokalizację, bo okienko po PPM było aplikacji a nie IE.
  • Odpowiedz