href元素的Xpath

问题描述 投票:14回答:6

我需要单击以下href元素,该元素位于相似的href元素中。

<a id="oldcontent" href="listDetails.do?camp=1865"><u>Re-Call</u></a>

任何人都可以给我xpath单击上面的href链接吗?谢谢您的帮助

selenium selenium-rc selenium-webdriver xpath
6个回答
20
投票

尝试使用下面的定位器。

selenium.click("css=a[href*='listDetails.do'][id='oldcontent']");

selenium.click("xpath=//a[contains(@href,'listDetails.do') and @id='oldcontent']");

6
投票

这可以正常工作,请尝试使用此代码-

selenium.click("xpath=//a[contains(@href,'listDetails.do') and @id='oldcontent']");

0
投票

以下工作正常。

//a[@id='oldcontent']

如果您尝试过某些但没有用,请告诉我们,否则类似的简单操作应该可以使用。


0
投票

定位锚元素的最佳方法是使用link=Re-Call

selenium.click("link=Re-Call");

它会工作..


0
投票

您是否尝试过:

//a[@id='oldcontent']/u[text()='Re-Call']

0
投票

这将为您提供通用链接:

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循环,该循环可以导航到每个营地编号的页面,也可以从该页面导航出来,从而可以验证营地的静态列表。

如果代码不是完美的,请原谅,我还没有进行自我测试。

© www.soinside.com 2019 - 2024. All rights reserved.