Allegro Seller Info 0.1.11

Nowe zmiany na allegro to nowa wersja skryptu. Własnie podbiłem allegro-seller-info.user.js do wersji 0.1.11 i wrzuciłem do repo.

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 na głównym kontentem. Na szczęście poprawka ograniczyła się do zmiany tylko jednej nazwy elementu (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 nie wynikający obecnie 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źć lokalizację 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 zniknęło znikło z tego obiektu. Co można zaobserwować lokalizacją "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 implikować jakieś przyszłe zmiany. A 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 jak wspomniałem, nowa wersja już wylądowała w UserScripts i dostępna dla wszystkich i każdego auto-updajtera ;)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *