如何使用Selenium来获取嵌套的LinkText?

时间:2015-05-29 17:30:58

标签: c# selenium selenium-webdriver

我在C#中使用Selenium来点击名为“Store Locator”的链接。我目前的代码如下,但没有点击链接:

IWebElement storeLink = driver.FindElement(By.LinkText("Store Locator"));

这是原始HTML,请注意标签中嵌套了一个span元素,不确定这是否会产生影响。

<a href="/site/olspage.jsp?id=cat12090&amp;type=page&amp;rdct=n" data-lid="hdr_stl"><span class="header-icon-storeFinder" aria-hidden="true"></span>Store Locator</a>

2 个答案:

答案 0 :(得分:1)

似乎隐藏了链接。如果即使Selenium找到了链接,它也无法直接进行交互。在这种情况下,JavaScript是您唯一的选择

By xpath = By.XPath("//span[contains(text(),'Store Locator')]");
IWebelement element = driver.FindElement(xpath);
((IJavaScriptExecutor)driver).ExecuteScript(@"arguments[0].click();",element);

答案 1 :(得分:0)

这肯定会有用。

IWebElement storeLink = driver.FindElement(By.LinkText("Store Locator"));
storeLink.click();