如何获得给定链接的任何元素?

时间:2018-08-27 23:27:36

标签: javascript html hyperlink

如何从Javascript中的给定链接获取 any 类或ID的值?这是一张说明我要做什么的图像:

enter image description here

我要查找链接中特定ID或类内的值(或文本)。假设我给了Javascript链接。我希望它转到该链接并找到给定类或ID的值。 让我们说:我给了它google.com的链接,并且给了它"Fx4vi"的类,它会返回"Advertising"

如果您需要搁置这个问题,您能告诉我原因,以便我解决吗?

2 个答案:

答案 0 :(得分:0)

由于Same Origin Policy,您无法将任何内容从Google加载到您的网站。

但是,如果要从服务器上的其他.html或.php获取类和ID,则可以使用以下方法:

let file_path = "FILE_PATH";

let xhrG = new XMLHttpRequest();
xhrG.onreadystatechange = function() { 
    console.log(xhrG.readyState,xhrG.status); 
    if(xhrG.readyState === 4 && xhrG.status === 200){
        ret = xhrG.responseText;
        let temp = document.createElement('div');
        temp.id = 'idofcontainer';
        temp.innerHTML = ret;
        temp.style.display = "none";
        document.body.append(temp);

        console.log(document.getElementById('idofcontainer').getElementsByClassName('searching-by-class')); // Shows all elements with class `searching-by-class`
        console.log(document.getElementById('idofcontainer').children.namedItem('searching-by-id')); // Shows element with id`searching-by-id`
    }
}

xhrG.open("GET", file_path);
xhrG.send();

答案 1 :(得分:0)

我不太了解您想要什么。是您自己的页面还是Google的页面?

可能是您仅以Google网页截图(为例),并且想从您自己的页面获取此值,然后您可以如下所示:

window.addEventListener('load', function(e)
{
    var spanElement = document.querySelector('#fsl'), //<span id="fsl">
        firstElementWithClassFx4vi = spanElement.querySelector('.Fx4vi'),
        allElementsWithClassFx4vi = spanElement.querySelectorAll('.Fx4vi');

    console.log(firstElementWithClassFx4vi.innerHTML);
    console.log('In span element with id="fsl" we have: ' + allElementsWithClassFx4vi.length + ' elements.');
});
<span id="fsl">
    <a class="Fx4vi" href="https://www.google.com">Advertising</a><br>
    <a class="Fx4vi" href="https://www.google.com">Business</a>
</span>

但是,如果您想直接从Google页面读取内容,则必须使用AJAX向服务器(如PHP)发出请求。首先,在服务器端,您可以使用PHP function file_get_contents()$content_google_page = file_get_contents('https://www.google.com/');从整页中获取内容,然后必须使用PHP function preg-match()使用正则表达式来解析此内容。之后,您可以将此“ web scraping”内容作为AJAX请求的答案。