2015-10-10 43 views
3

我想找出一种方法来将元素个性化为唯一的标识符。我的意思是,对于每个元素(DOM中开始的元素或稍后创建的元素),我想为该元素分配一个唯一的标识符,以便当用户重新访问网站时,它们将能够通过它的唯一标识符引用该元素。我如何将元素个性化为唯一标识符?

我在想,你可能会应用某种任意的标识符号或字符串给任何给定的元素,基于谁是父母,哪里放在父母的哪里,以及他们的兄弟姐妹是谁参考他们各自的标识符。

有没有人有任何建议,我怎么可能去在这样的方式个性化任何给定的元素?我在问,因为我想编写一个Chrome扩展程序,允许用户任意选择任何元素,并对它们应用不同的规则,这些规则可能会在多次网站访问中持续存在。

回答

2

您可以使用XPath。现有的chrome插件为每个元素都找到了唯一的XPath。 example chrome xpath plugin

+0

太棒了,我不知道这存在。谢谢! –

2

一般情况下,你的问题是不是100%可解。一个页面可以改变一点,这将会抛弃所有的标识符,而启发式算法只会走到目前为止。

试想一下,用户在网站上的第二次新闻文章中选择一个特定的词。

后来,他访问该网站,并有一个新的新闻文章,推别人走过。现在找不到这个词,或者一个不相关的词将被突出显示。

这就是说,你的描述是最接近XPath,作为omer727指出。

中的单个元素可以有多个有效的XPath,所以这是给你的XPath是如何构建的。这个话题已经有big question了。