使用href文本和存储的变量查找链接

时间:2014-12-23 01:56:50

标签: c# selenium selenium-webdriver

使用C#和Selenium Webdriver,我正在尝试找到包含自动生成ID的href

在我的自动化脚本中,我已将此值存储在名为_studentId

的变量中

我想做的是

  1. 找到包含相同id值的href是存储在_studentId变量中的值
  2. 点击链接。
  3. 以下是包含href和Id值的页面源代码示例。注意:Id值会发生变化,因此我需要不仅根据href值来识别链接,还要使用动态Id值,该值与我的_studentId变量中的值相同。包含值333795的部分是与_studentId变量匹配的部分。

    <td class="score input input-blue">
         <a title="Test Result" size="340,300" class="frameDialog" href="/Body/Students/Enrollment/EdStudentInfo.aspx?Id=333795&amp;Pn=0&amp;tp=2">
              <span style="text-decoration: underline">None</span>
         </a>
    </td>
    

    以下代码将点击该链接,但我需要使用_studentId变量更好地识别链接,因为会有许多具有相同文本但具有不同学生ID值的链接。

    IWebElement testResultsLink = driver.FindElement(By.CssSelector("[href*='Body/Students/Enrollment/EdStudentInfo.aspx']"));
    testResultsLink.Click();
    

    先谢谢

1 个答案:

答案 0 :(得分:2)

只需将之前存储的变量添加到选择器

"[href*='Body/Students/Enrollment/EdStudentInfo.aspx?id='" + _studnetID + "']"

或者只是使用指向包含id

a标记的xpath
"//a[contains(@href,'" +_studnetID + "')]"