2011-01-06 30 views
1

我正在为一个复杂的企业级Web应用程序使用Selenium进行自动化测试,并且遇到了一些问题。多个元素共享相同的标识时,标准错误行为是什么?

看起来程序员并不认为标准HTML的优先级太高。页面完全不兼容。我目前的问题是,有几个元素的价值相同,显然这不是一件好事。我不能改变它,反正我不认为我想。

当许多元素具有相同的ID时会发生什么?流行的浏览器如何处理?我特别要求的是document.getElementById:哪一个退回?

+1

你为什么不写一个小的应用程序尝试它的第一个元素?我想记住,ff返回找到的第一个元素。 – Simon 2011-01-06 13:57:25

回答

1

除非我不知道document.getElementId的内部信息,否则我会希望它返回遇到的第一个元素。 (见本小提琴:http://jsfiddle.net/rrTra/

虽然浏览器的行为可能会有所不同,我相信大多数人会忽略其他条目,而不报告错误。

EDIT

实测此链接:http://reference.sitepoint.com/javascript/Document/getElementById

当多个元件共用相同的 ID

此方法的行为时 指定 ID的多于一个的元件存在不规范,因为 文件不允许含有 个以上的元素具有相同的 ID。但是,以供参考,在此情况下 所有的浏览器返回发现 第一要素。

1

document.getElementById返回与ID

在FF,IE,Chrome的测试,Safari浏览器&歌剧

相关问题