我试图获得亚马逊产品的标题(佳能EF-S Teleobiettivo Compatto,55-250 mm F / 4-5.6 IS STM,Nero),我如何获得该trought元素的ID?我写了,但它没有显示,如果我不放.innerHTML显示“null”
function writeText() {
text1 = document.getElementById("http://www.amazon.it/dp/B00EP71ETU#productTitle");
//document.write(text1.innerText)
document.getElementById("outputDiv").innerHTML = (text1)
}
“outputDiv”只是:<div id="outputDiv"></div>
在一个正文体内,点击一个按钮调用writeText()
答案 0 :(得分:1)
您无法使用getElementId
访问其他网页的DOM。对于这样的事情,您需要使用ajax来获取Amazon页面,然后针对您正在寻找的ID解析该结果。
如果您可以使用jQuery,通常您可以使用他们的load
方法从外部网站获取页面:
$( "#outputDiv" ).load( "http://www.amazon.it/dp/B00EP71ETU #productTitle" );
然而,在这种情况下,亚马逊不允许Cross-site HTTP requests,所以如果你走这条路线,你可能不得不通过代理运行ajax调用来访问外部页面,使用像这样的东西:
$.get( "proxy.php", { url: "http://www.amazon.it/dp/B00EP71ETU" }, function(data){
var $html = $(data),
productTitle = $html.find('#productTitle').text();
$('#outputDiv').text(productTitle);
} );