如何处理在硒中反复更换的elementID?

时间:2014-03-17 12:00:52

标签: selenium web element selenium-ide zk

如何在selenium IDE中重复更改元素ID?

当我点击按钮并刷新页面并再次点击它时,就会出现这种情况!

<tr>
    <td>open</td>
    <td>/FEP/LoginHandlerServlet.htm</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=a2uPu0</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=tU9Pu0</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=qXCPu0</td>
    <td></td>
</tr>

我的网络应用程序使用ZK(Zkoss)开发!

任何想法?

2 个答案:

答案 0 :(得分:0)

尝试按xpath或链接文本查找元素,而不是ID。

通过linktext:

driver.findElement(By.linkText("Link text")).click(); 

by xpath:

findElement(By.xpath("your xpath")).click();

我认为在你的情况下,linktext会更好。

答案 1 :(得分:0)

这是我在某些网页框架(例如Wicket)中发现的常见问题,其中HTML ID在每次呈现网页时都会发生变化。如果开发团队参与了自动化测试,那么通常有一种方法可以使这些ID保持静态,从而解决您的问题。否则,如前所述,您必须使用其他一些识别标记。

Here是一个很好的网站,可以帮助您开始使用所有可用的选项。