在Selenium-RC中使用XPath定位元素的问题

时间:2011-12-23 12:16:45

标签: java selenium selenium-rc xpath

我正在尝试执行非常简单的自动化测试。我在FirePath中创建了XPath选择器,这里是:

//a[@href='http://i.yandex.ru/'][span[contains(.,'ledak.e.v@yandex.by')]]

但是Selenium-RC找不到这个元素。代码是:

final String StrEmailToTest = "ledak.e.v@yandex.by";
String linkEmailSelector = "//a[@href='http://i.yandex.ru/'][span[contains(.,'"+ StrEmailToTest + "')]]";
selenium.isElementPresent(linkEmailSelector);

并返回“false”

你能告诉我,我做错了什么?

UPD。我在这里上传了* .maft文件:http://depositfiles.com/files/lhcdh2wtl 不要害怕,屏幕上有一些俄语字符。

2 个答案:

答案 0 :(得分:1)

你的XPath不应该是:

"//a[@href='http://i.yandex.ru/']/span[contains(.,'"+ StrEmailToTest + "')]";

答案 1 :(得分:0)

我的猜测是,selenium在加载之前就在寻找元素。它是动态加载/生成的元素吗?如果是这样,请使用waitForElementPresent()。如果没有,请尝试更改元素标识的方法 - 使用id或name,然后尝试执行它。要确保您的xpath正确,请在firefox的selenium IDE /插件中键入元素的路径(为命令字段发出一些随机命令),然后单击“查找元素”。如果它找到了,那么在给定页面/元素被加载或生成的情况下,selenium没有问题。如果没有,你将不得不要求Selenium等到元素加载。