我正在尝试执行非常简单的自动化测试。我在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 不要害怕,屏幕上有一些俄语字符。
答案 0 :(得分:1)
你的XPath不应该是:
"//a[@href='http://i.yandex.ru/']/span[contains(.,'"+ StrEmailToTest + "')]";
答案 1 :(得分:0)
我的猜测是,selenium在加载之前就在寻找元素。它是动态加载/生成的元素吗?如果是这样,请使用waitForElementPresent()。如果没有,请尝试更改元素标识的方法 - 使用id或name,然后尝试执行它。要确保您的xpath正确,请在firefox的selenium IDE /插件中键入元素的路径(为命令字段发出一些随机命令),然后单击“查找元素”。如果它找到了,那么在给定页面/元素被加载或生成的情况下,selenium没有问题。如果没有,你将不得不要求Selenium等到元素加载。