我需要单击以下href元素,该元素位于相似的href元素中。
<a id="oldcontent" href="listDetails.do?camp=1865"><u>Re-Call</u></a>
任何人都可以给我xpath单击上面的href链接吗?谢谢您的帮助
尝试使用下面的定位器。
selenium.click("css=a[href*='listDetails.do'][id='oldcontent']");
或
selenium.click("xpath=//a[contains(@href,'listDetails.do') and @id='oldcontent']");
这可以正常工作,请尝试使用此代码-
selenium.click("xpath=//a[contains(@href,'listDetails.do') and @id='oldcontent']");
以下工作正常。
//a[@id='oldcontent']
如果您尝试过某些但没有用,请告诉我们,否则类似的简单操作应该可以使用。
定位锚元素的最佳方法是使用link=Re-Call
:
selenium.click("link=Re-Call");
它会工作..
您是否尝试过:
//a[@id='oldcontent']/u[text()='Re-Call']
这将为您提供通用链接:
selenium.FindElement(By.XPath("xpath=//a[contains(@href,'listDetails.do')")).Click();
如果要让它指定一个参数,则必须对每个参数进行测试:
...
int i = 1;
selenium.FindElement(By.XPath("xpath=//a[contains(@href,'listDetails.do?camp=" + i.ToString() + "')")).Click();
...
上面的代码可以利用一个for循环,该循环可以导航到每个营地编号的页面,也可以从该页面导航出来,从而可以验证营地的静态列表。
如果代码不是完美的,请原谅,我还没有进行自我测试。