如何为以下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();