【发布时间】:2011-08-08 02:07:57
【问题描述】:
我想创建一个类似记录器的东西,它可以跟踪用户的所有操作。为此,我需要识别用户与之交互的元素,以便我可以在以后的会话中引用这些元素。
用伪代码说话,我希望能够执行以下操作
示例 HTML(可能很复杂):
<html>
<body>
<div class="example">
<p>foo</p>
<span><a href="bar">bar</a></span>
</div>
</body>
</html>
用户点击了一些东西,比如链接。现在我需要识别被点击的元素并将其位置保存在 DOM 树中以供以后使用:
(any element).onclick(function() {
uniqueSelector = $(this).getUniqueSelector();
})
现在,uniqueSelector 应该是这样的(我不介意它是 xpath 还是 css 选择器样式):
html > body > div.example > span > a
这将提供保存该选择器字符串并在以后使用它来重播用户所做的操作的可能性。
这怎么可能?
更新
【问题讨论】:
-
对于 DOM 中的任何给定元素,无限数量的选择器是有效且唯一的。见stackoverflow.com/questions/5135287/…
-
很想知道这个需求...
-
@BoltClock:我不想拥有所有可能的选择器,只有其中一个是有效且唯一的。我不介意哪一个。
-
@Cybernate:我正在使用 Selenium 2 与 Java 应用程序中的浏览器进行交互。它将 jQuery 加载到每个页面以具有进一步的交互可能性。
标签: javascript jquery html css-selectors