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
?
Jede Hilfe wird geschätzt.
Danke.
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.
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.
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
Tags und Links javascript iframe cross-domain xpath