c# Selenium Webdriver -如何通过多个字符串查找链接,同时也使用字符串内引用

本文关键字:字符串 引用 链接 查找 Webdriver Selenium 何通过 | 更新日期: 2023-09-27 18:11:25

我想点击两个不同字符串的链接。

我尝试了下面的代码,但它似乎不工作。

帮忙吗?

xPathString = String.Format("//a[contains(text(), 'Enforcement') and contains(text(), '{0}')]", title);
FindElement(By.XPath(xPathString)).Click(); //enforcement inspector

我得到的错误信息是:

OpenQA.Selenium.NoSuchElementException: By.XPath: //a[contains(text(), 'Enforcement') and contains(text(), 'Inspector')]

链接的href标签为:

/.../Enforcement/Inspector

c# Selenium Webdriver -如何通过多个字符串查找链接,同时也使用字符串内引用

您应该检查@href 属性,而不是文本:

//a[contains(@href, 'Enforcement') and contains(@href, '{0}')]

并且,确保title变量实际上具有Inspector字符串值

另一种方法是:

FindElement(By.XPath("//a[contains(text(), 'Enforcement') and contains(text(), '" + title + "')]")).Click(); //enforcement inspector