【问题标题】:How to use Selenium to grab nested LinkText?如何使用 Selenium 抓取嵌套的 LinkText?
【发布时间】:2015-08-12 16:19:31
【问题描述】:

我在 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>

【问题讨论】:

标签: c# selenium selenium-webdriver


【解决方案1】:

好像链接被隐藏了。即使Selenium 找到链接,它也无法直接交互。在这种情况下,JavaScript 是您唯一的选择

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

【讨论】:

    【解决方案2】:

    这肯定会奏效。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-09
      • 1970-01-01
      • 2020-11-28
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 2019-04-10
      相关资源
      最近更新 更多