问题查找XPath C#



如何为以下HTML编写xpath

<span id="filename_548948">Test DC Email </span>

以下XPath似乎不起作用:

Driver.FindElement(By.XPath(".//span[text() = '" + nameOfEmail + "']")).Click();

解决方案取决于字符串名称包含的内容。

您对精确文本有一个XPath查询。意味着每个字符在搜索中都应与网页上的搜索相同。

所以如果string nameOfEmail = "Test DC Email "

它将正确搜索。

另外,在//前失去.可能会有所帮助

根据 html 您共享的您可以使用以下xpath

//with a constant string
Driver.FindElement(By.XPath("//span[starts-with(@id,'filename_') and contains(normalize-space(), 'Test DC Email')]")).Click();
//with a variable string
Driver.FindElement(By.XPath("//span[starts-with(@id,'filename_') and contains(normalize-space(), '" + nameOfEmail + "')]")).Click();

最新更新