Wpis z mikrobloga

Powitać wszystkich wężowatych

dopiero co poznaje tajniki pytonga i mam mini projekt. Krótko mówiąc potrzebuje pomocy

korzystam z selenium

Ma zostać sprawdzona wartość na stronie, jeśli jest niedostępny to refresh i ponowne sprawdzenie

Wiem że kod jest "niepełnosprawny" no ale każdy kiedyś zaczynał :)

Niestety kod nie dziala tak jakbym chcial. Przechodzi dalej do printa zamiast odswiezyc strone i pobrac wartosc jeszcze raz


#python #selenium #programowanie
Pobierz fasolaigroch - Powitać wszystkich wężowatych 

dopiero co poznaje tajniki pytonga i...
źródło: comment_1651230130zLKbl9PL6Fu4aBXZzOaxEs.jpg
  • 20
@fasola_i_groch: Może zamień linijki z press i sleep, bo nie czeka, aż strona się załaduje i przez to nie widzi komunikatu o braku towaru. A może dodaj też coś, żeby sprawdzało, czy strona na pewno jest prawidłowo załadowania, np. szukaj elementu z przyciskiem zamawiania.
@fasola_i_groch: może strona ma literówki xD albo selenium nie ogarnia polskich znaków i powinno być np. "produkt niedostepny"

ja bym dał jeszcze check na "produkt dostępny" w elif, a do else żeby printowało jaki tekst check wyrzucił.

ja np. stronę ładowałem przez moduł requests i obrabiałem w module bs4 to co mnie interesowało, żeby potem pisać kod, selenium jest z tego co wiem wolniejsze (sam nie korzystałem)
@fasola_i_groch nie myślałeś, żeby w swoim pollerze dodać timeout? Tak to robisz to w nieskończoność. Robisz X prób, a refresh robisz co Y sekund.
Polecam też przejść na boolean, zamiast 0/1. Dodatkowo, żeby nie pałować się z tekstem i polskimi znakami nie lepiej szukać jakiegoś atrybuty/elementu, który jest widoczny w przypadku twojego spełnionego warunku?
Panowie dziekuje za bardzo ciekawe i zapewne mądre rady.

Węża ucze się dopiero 2 dni - stąd wynika moja niewiedza. Wcześniej nie programowalem

@Elkoss: wiem iz selenium ma wbudowany refresh. Jednakże gdy korzystalem z tej opcji to odswiezala mi się pierwsza karta w przeglądarce a pracuje na drugiej

@orkenzord: dzięki za rady, muszę się rozejrzec czy faktycznie mogę użyć jakiś inny element

@Igbt: nie wiem, nie znam się -
@fasola_i_groch: wiem że temat stary ale xd
- driver.refresh() powinieneś używać. ( ͡° ͜ʖ ͡°) Po wciśnieciu F5 przez pyautogui niekoniecznie odświeża Ci się karta w przeglądarce. ( ͡° ͜ʖ ͡°)

@Elkoss: wiem iz selenium ma wbudowany refresh. Jednakże gdy korzystalem z tej opcji to odswiezala mi się pierwsza karta w przeglądarce a pracuje na drugiej


Obstawiam że w tym tkwił problem.