selenium xpath定位器不工作:timeOutException

时间:2015-11-30 21:38:59

标签: selenium xpath selenium-webdriver

我有一个页面,在检查后我发现它给出了,

<a class="SomeClass" href="#/sObject/701R00000004qi1IAA/view" title="Test;a">Test<a--></a>" 

我想验证页面是否有701R00000004qi1IAA ID。我使用以下代码:

locator = "/a[contains(@href,'" +ID+"')]"

然后

getWebDriverUtil.waitForElementPresent(By.xpath(locator), 10000 ).isDisplayed();

但我得到了timeOutException。但手动我可以确认该目标页面上有id的字段。 我在这里做错了什么?

3 个答案:

答案 0 :(得分:0)

您的定位器:/ a [包含(@href,&#39;&#34; + ID +&#34;&#39;)]

/ a - 尝试使用&#34; // a&#34;在整个文档中搜索,而不是仅在第一级搜索

希望它有所帮助。

答案 1 :(得分:0)

我还会尝试使用双斜杠来搜索DOM内任何位置的链接:

//a[contains(@href, '" + ID + "')]

答案 2 :(得分:0)

您的xpath定位器是正确的。检查显式等待而不是elementpresent方法。

WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.xpath(locator)));

在抛出TimeoutException之前等待最多10秒,或者如果它发现元素将在0-10秒内返回它。 WebDriverWait默认情况下每隔500毫秒调用ExpectedCondition,直到成功返回。

在这里,您可以增加Webdriver等待时间。希望你的结果能够成功。