从javascript注入的不同域获取html内容
可以通过“file_get_contents”或cURL(例如)从php中的另一个域获取html内容。 但是,当DOM元素通过JavaScript注入时,如何获取它呢 如果这在服务器级别上是不可能的,尽管我在Selenium方面没有经验,这只是一个猜测:我是否可以在本地机器上使用Selenium(+RC?),并从第三方域访问网页从javascript注入的不同域获取html内容,javascript,php,html,selenium,curl,Javascript,Php,Html,Selenium,Curl,可以通过“file_get_contents”或cURL(例如)从php中的另一个域获取html内容。 但是,当DOM元素通过JavaScript注入时,如何获取它呢 如果这在服务器级别上是不可能的,尽管我在Selenium方面没有经验,这只是一个猜测:我是否可以在本地机器上使用Selenium(+RC?),并从第三方域访问网页 -我应该补充一点,元素似乎是在加载时添加的,而不是绑定到任何触发器。如果您想在服务器端执行此操作,那么只需 $contents = file_get_contents(
-我应该补充一点,元素似乎是在加载时添加的,而不是绑定到任何触发器。如果您想在服务器端执行此操作,那么只需
$contents = file_get_contents('url to page');
echo $contents;
如果你想在客户端做的话
$.ajax({
'url' : 'URL HERE',
'type' : 'GET',
'success' : function(data) {
$("#contents").html(data);
}
});
注意:只有发送了相应的访问控制源标题,客户端才会工作(大多数网站不允许这样做)只有设置了相应的CORS标题,客户端代码才能工作,因为根据OP,它们来自另一个域。@Ali,正如我试图说的,问题是我得到了静态html,但是,在加载过程中插入的浏览器可见的所有元素都不是由php获取的。tampermonkey或greasemonkey将允许您在任何站点上运行自己的代码。@dandavis,我没有想到greasemonkey。事实上,我需要一些脚本,可以自动浏览一系列页面,读取一些数据,存储并处理它们。因此,使用greasemonkey脚本,我仍然需要调用页面并手动进行存储,但这肯定会更快更容易。您也可以使用greasemonkey脚本调用页面。我通常使用一个URL数组、一个游标的localStorage、一个链接URL/workload用户脚本的iframe和一个启动“加载下一个URL”部分的window.postMessage。。。