我的应用程序与谷歌地图集成,我正在尝试使用 Selenium 编写一些 UI 测试。作为我的一项测试的一部分,我需要在 Google Maps 提供的 infoPopup 中找到 X。这个元素没有任何 id 或类,我可以直接使用它在 Selenium 中找到它。我可以使用 XPath,但它会使我的测试对 Google 的任何更改都非常脆弱。
另一方面,我可以从我的自定义元素(使用父元素和兄弟元素)中查找 DOM 结构并非常容易地找到它(这就是我在 javascript 中访问它的方式)。我的问题是我是否也可以在 Selenium 中以相同的方式访问它。
HTML 表单:
<div style="width: 10px; height: 10px; overflow: hidden; position: absolute; opacity: 0.7; right: 12px; top: 12px; z-index: 10000; cursor: pointer;">
<img src="http://maps.gstatic.com/mapfiles/mv/imgs8.png" draggable="false" style="position: absolute; left: -18px; top: -44px; width: 68px; height: 67px; -webkit-user-select: none; border: 0px; padding: 0px; margin: 0px;">
</div>
XPath://*[@id="map"]/div[1]/div[1]/div/div[3]/div[3]/div/div[13]/div[1]
我对 Selenium 的经验非常有限。因此,如果有其他方法可以找到可能对我有帮助的元素,我也很想了解它们。