Xpath des Elements auf einer anderen Website / cross domian

9

Ich möchte die XPATH eines Elements auf einer Website (meiner eigenen Domain) bekommen, die ich mit JavaScript code wie in diese antwort.

Nun möchte ich auf die Schaltfläche klicken, die ein URL (domänenübergreifendes) Fenster öffnet und wenn ein Benutzer auf ein Element in diesem Fenster klickt, wird XPATH erfasst.

Ich habe versucht, dasselbe mit iframe ohne Glück zu machen.

Jetzt meine Frage ist es eine Möglichkeit, die XPATH eines Elements von another website / Cross domain ?

zu bekommen

Jede Hilfe wird geschätzt.

Danke.

    
Arpit 16.07.2015, 10:00
quelle

3 Antworten

1

Aus Ihren Kommentaren habe ich festgestellt, dass Sie Informationen von einer anderen Website erfassen möchten, die keine Access-Control-Allow-Origin -Header enthält, die Ihre Domain enthalten (z. B. die andere Site hat nicht CORS aktiviert). Dies ist aufgrund der Same-Origin-Richtlinie , die in den meisten modernen Implementierungen implementiert wurde, nicht domänen- und clientseitig möglich Browser. Die Same-Origin-Richtlinie verhindert, dass Ressourcen auf Ihrer Website mit Ressourcen auf anderen Websites interagieren (es sei denn, die andere Website teilt sie explizit mit Ihrer Website mit dem Access-Control-Allow-Origin HTTP-Header).

Wenn Sie Informationen über eine andere Site von Ihrer Site erhalten möchten, gibt es keinen Weg, serverseitigen Code zu verwenden. Eine einfache Lösung wäre die Implementierung eines serverseitigen Proxys, der Off-Site-Seiten von Ihrem eigenen Ursprung aus versorgt, sodass die Same-Origin-Richtlinie nicht verletzt wird.

    
Maximillian Laumeister 23.07.2015, 19:19
quelle
1

Entschuldigung, das ist ohne die Zusammenarbeit von der anderen (x-domain) Seite nicht möglich. Browser sind so konzipiert, dass sie aus Sicherheitsgründen keinen Zugriff auf das DOM von x-domain Dokumenten erlauben ( iframe enthalten).

Wenn Sie eine Kooperation von der anderen Seite hatten, könnten sie Ihre Javascript-Datei laden und dann postmessage , um den xpath auf die Originalseite zu übergeben.

Andere Optionen wären das Erstellen eines Bookmarklets, das Benutzer auf der anderen Seite verwenden können, oder eine Browsererweiterung (Chrome und FF sind ziemlich einfach zu entwickeln) ... hängt von Ihrem Anwendungsfall ab.

    
Adam Heath 24.07.2015 04:43
quelle
0

Sie können die Daten mithilfe der Funktion laden von jQuery abrufen und an Ihre Seite anhängen.

Von dort sollten die DOM-Knoten von Ihrer externen Seite für Ihre Verarbeitung zugänglich sein.

%Vor%

Sie können dies hier in Aktion sehen: Ссылка

PS: Dies setzt voraus, dass Sie mit einer CORS -fähigen Site arbeiten

    
Mehdi El Fadil 19.07.2015 11:47
quelle