发现xpath c#的问题

时间:2018-04-03 12:36:25

标签: c# selenium selenium-webdriver xpath webdriver

如何为以下HTML编写xpath

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

以下xpath似乎不起作用:

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

2 个答案:

答案 0 :(得分:0)

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

您有关于确切文本的xpath查询。这意味着搜索中的每个字符应与网页上的字符相同。

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

它会正常搜索。

此外,丢失.前面的//可能会有所帮助

答案 1 :(得分:0)

根据您分享的 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();