Problem z manipulacją DOM'a JS

0

Hejka, wie ktoś może dlaczego żadna operacja na DOM'ie tej stronki nie chce zadziałać? Nawet prosty click(). Potrafi ktoś doradzić, czego powinienem użyć, żeby móc manipulować tym DOM'em?

https://streamable.com/n0dx1 tutaj pokazane.

1

Nie rozumiem pytania.
Chcesz manipulować cudzą stroną?
Z poziomu innej strony www czy piszesz sobie jakieś rozszerzenie do przeglądarki albo skrypt do GreaseMonkey?

1

Otwórz konsolę przeglądarki.
Wpisz: document.querySelector("#footer-content > div.actions-section > button").click();
Niebieski przycisk Embed zmieni ci się na zielony przyciskCopied.

Prawdopodobnie w opcjach GM źle definiujesz stronę, na której skrypt ma być wykonywany.

1

Strona:
https://www.easports.com/

Polecenie w konsoli:
document.querySelector("body > div.eas-nav.eas-nav--closed.eas-nav--only-global > div > ul > li.eas-nav_item.eas-nav-global_item.eas-nav-global_item--login.eas-nav-global--auth-ready > a > span").click();

Przenosi mnie na stronę logowania.

A jeśli na jakiejś podstronie JS ci nie działa, to podaj adres tej podstrony.

1

Na; https://www.easports.com/fifa/ultimate-team/web-app/ wyświetla mi tylko: unsupported browser.

Ale w ogólności prawdopodobnie da się to klikać skryptami, tyle tylko, że nie możesz po prostu użyć click(), ale musisz wygenerować zdarzenie kliknięcia na zadanych współrzędnych. Coś w stylu:

/* --- mousedown --- */
var e = document.createEvent("MouseEvent");
var obiekt = document.elementFromPoint(x,y);
e.initMouseEvent("mousedown", true, true, window, null, 0, 0, x, y, false, false, false, false, 0, null);
obiekt.dispatchEvent(e);
/* --- /mousedown --- */

/* --- mouseup --- */
var e = document.createEvent("MouseEvent");
var obiekt = document.elementFromPoint(x,y);
e.initMouseEvent("mouseup", true, true, window, null, 0, 0, x, y, false, false, false, false, 0, null);
obiekt.dispatchEvent(e);
/* --- /mouseup --- */

/* --- click --- */
var e = document.createEvent("MouseEvent");
var obiekt = document.elementFromPoint(x,y);
e.initMouseEvent("click", true, true, window, null, 0, 0, x, y, false, false, false, false, 0, null);
obiekt.dispatchEvent(e);  
/* --- /click --- */

1 użytkowników online, w tym zalogowanych: 0, gości: 1