2011-12-23 90 views
0

我试图执行非常简单的自动化测试。我在FirePath中创建了XPath选择器,这里是:在Selenium-RC中使用XPath查找元素的问题

//a[@href='http://i.yandex.ru/'][span[contains(.,'[email protected]')]] 

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

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

而且我在做什么错返回 “false”

你能告诉我,?

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

+0

没有HTML代码片段,我们无法为您提供帮助。 – 2011-12-23 23:42:07

+0

我用HTML-example更新了主题 – Eugene 2011-12-26 08:22:26

回答

0

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

1

应该不是你的XPath是:

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

我用你的XPath,但是同样的问题发生了:FirePath说'是',Selenium说'不'.... – Eugene 2011-12-23 14:34:08