我希望在网站(我自己的域)上获取元素的XPATH
,我使用JavaScript
代码中提到的XPATH
代码获取该元素。
现在我想点击按钮,它会打开一个url(跨域)窗口,当用户点击该窗口上的元素时,它会被iframe
捕获。
我尝试使用XPATH
做同样的事情而没有运气。
现在我的问题是如何获得 another website
/ Cross domain
元素的http_method_names
?
任何帮助将不胜感激。
感谢。
答案 0 :(得分:1)
根据您的评论,我们已经收集到您希望从其他网站捕获信息,这些网站没有包含您域名的Access-Control-Allow-Origin
标题(例如,其他网站没有{{3已启用)。由于大多数现代浏览器中都实现了CORS,因此无法跨域和客户端进行此操作。 Same-Origin策略可防止您网站上的任何资源与任何其他网站上的资源进行交互(除非其他网站使用Access-Control-Allow-Origin
HTTP标头明确与您的网站共享它们)。
如果您想从您的站点获取有关其他站点的信息,则无法使用服务器端代码。一个简单的解决方案是实现服务器端代理,从您自己的来源重新提供异地网页,因此不会违反同源策略。
答案 1 :(得分:1)
很抱歉,如果没有其他(x-domain)网站的合作,这是不可能的。浏览器的设计不允许出于安全原因访问x域文档的DOM(包括iframe
)。
如果您与其他网站有合作,他们可以加载您的javascript文件,然后使用postmessage将xpath传递到原始页面。
其他选项是创建用户可以在其他页面上使用的书签,或浏览器扩展(Chrome和FF很容易开发)...取决于您的用例。
答案 2 :(得分:0)
您可以使用jQuery的load函数获取数据,并将其附加到您的页面。
从那里,您可以访问外部页面中的DOM节点进行处理。
$('#where-you-want').load('//example.com body', function() {
console.log($('#where-you-want'))
// process the DOM node under `#where-you-want` here with XPath.
})
您可以在此处查看此操作:http://jsfiddle.net/xsvkdugo/
P.S。:这假设您正在使用已启用CORS的网站。