我有一个页面,在检查后我发现它给出了,
<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的字段。
我在这里做错了什么?
答案 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等待时间。希望你的结果能够成功。