如何通过网站代码查看代码并选择某个项目?

时间:2015-09-21 19:02:40

标签: javascript html google-chrome-extension

我希望有一个代码可以搜索网站的HTML并找到某个项目,然后打印该项目。在我的代码中,我使用一个名为getPageSource.js的文件来获取html,如果我想,我可以打印出整个html。让我在这里发帖:

function DOMtoString(document_root) {
    var html = '',
        node = document_root.firstChild;
    while (node) {
        switch (node.nodeType) {
        case Node.ELEMENT_NODE:
            html += node.outerHTML;
            break;
        case Node.TEXT_NODE:
            html += node.nodeValue;
            break;
        case Node.CDATA_SECTION_NODE:
            html += '<![CDATA[' + node.nodeValue + ']]>';
            break;
        case Node.COMMENT_NODE:
            html += '<!--' + node.nodeValue + '-->';
            break;
        case Node.DOCUMENT_TYPE_NODE:
            // (X)HTML documents are identified by public identifiers
            html += "<!DOCTYPE " + node.name + (node.publicId ? ' PUBLIC "' + node.publicId + '"' : '') + (!node.publicId && node.systemId ? ' SYSTEM' : '') + (node.systemId ? ' "' + node.systemId + '"' : '') + '>\n';
            break;
        }
        node = node.nextSibling;
    }

    return html;
}


chrome.runtime.sendMessage({
    action: "getSource",
    source: DOMtoString(document)
});

此代码可以让我打开一个网站,然后点击我的扩展程序,我的扩展程序将打开一个打印出HTML代码的页面。一个问题解决了。现在主要的问题是我希望我的代码搜索HTML代码并打印出某个项目。假设我希望它打印出页面上文本框的ID。

让我们以Facebook登录页面为例: 因此,整个HTML代码被打印出来,这部分是主要焦点:

<input id= "email" class= "inputtext" type="email" tabindex="1" value= "" name="email" ></input>

这是facebook.com登录页面中的一行代码。此行特别是电子邮件或电话文本框的代码。看看它是怎么说的,id =&#34; email&#34; ?这是我希望我的扩展仅打印出来的部分。因此,当我点击它时,它只是说&#34;电子邮件&#34;并在那个密码框的id之下。

这仍然是针对我的扩展登录的同一项目,我想将其添加为一个小功能,以便希望它可以为我登录更多网站。

非常感谢您提前。

0 个答案:

没有答案