Allegro Seller Info 0.1.11

tech • 358 słów • 2 minuty czytania

Jak nowe zmiany na allegro to nowa wersja skryptu. Właśnie podbiłem allegro-seller-info.user.js do wersji 0.1.11.

Na stronach z przedmiotami zmieniła się prawdopodobnie trochę struktura DOM-a, bo mój “szukacz” lokalizacji sprzedającego wywala się na jakimś “udefined node”. Nie jestem pewny co dokładnie, ale to zapewne przez wprowadzone i zunifikowane zakładki o dostawie, sprzedającym, zwrotach, które teraz otwierają się zawsze jako dodatkowa warstwa nad głównym kontentem. Na szczęście poprawka ograniczyła się do zmiany tylko jednej nazwy elementu (z delivery na shippinginfoshow), będącego głównym punktem identyfikującym zawartość boxa o dostawie.

Przy okazji wspomnę o jeszcze innym znanym błędzie, ale obecnie nie wynikającym z winy skryptu.

Na listach aukcji lokalizacja pobierana jest z jakiegoś reactowego obiektu zawierającego dużo informacji o aukcji. W nim to pod location można znaleźć dane o lokacji użytkownika:

{
	[...]
	"vendor": "allegro",
	"location": {
		"city": "Warszawa",
		"popover": {
			"text": "Wysyłka z: Warszawa"
		}
	},
	[...]
}

Skrypt wykorzystuje pole city i to jego zawartość jest embedowana na liście przedmiotów.

Niestety od jakiegoś czasu, na aukcjach innych niż stricte allegrowe (vendor: allegro) pole to znikło z tego obiektu. Co jest widoczne przez “undefined” na listowanych aukcjach pochodzących z “Allegro Lokalnie, “Charytatywni Allegro” i innych (jeśli jakieś jeszcze są). Tam ten fragment JSON-a prezentuje się mniej więcej tak:

{
	[...]
	"vendor": "allegro_lokalnie",
	"location": {
		"popover": {
			"text": "Wysyłka z: null"
		},
		"tile": {}
	},
	[...]
}

Jak widać city wyparowało, a w popover, który jest wyświetlany na popup-ie po najechaniu na przedmiot zawiera null-a. Z tego można sądzić, że coś wewnętrznie na backendzie czy jakimś API nie pyknęło i na razie pozostaje tylko czekać, aż właściciel strony coś z tym zrobi.

Od jakiegoś czasu we wspomnianym popupie nie pojawia się już wzmianka o lokalizacji przedmiotu, co może przepowiadać jakieś przyszłe zmiany. To z kolei może doprowadzić do usunięcia w przyszłości nieużywanego i niepotrzebnego obiektu location. I będzie problem! Bo skąd będę mógł pobrać dane o lokalizacji? Chyba tylko przez requesta do strony z przedmiotem i z niej wydobycie tej informacji… ale nie widzę jakoś dla każdego elementu na liście wykonywać http-owego get-a… Pożyjemy, zobaczymy…

A tymczasem nowa wersja już wylądowała w UserScripts i dostępna dla wszystkich i każdego auto-updajtera ;)

Komentarze (0)

Dodaj komentarz

/dozwolony markdown/

/nie zostanie opublikowany/