2016-07-29 62 views
2

我想将元素停留在菜单栏中的硒元素上,但难以定位元素。元素显示如下:通过显示文本查找带有硒的元素

<DIV onmouseover="function(blah blah);" class=mainItem>TextToFind</DIV> 

有此类型的多个元素,所以我需要通过TextToFind找到这个元素。

我已经试过:

driver.FindElement(By.XPath("TextToFind")) 

driver.FindElement(By.LinkText("TextToFind")) 

这两人都没有工作。我甚至尝试过:

driver.FindElement(By.ClassName("mainItem")) 

哪个也没有工作。有人能告诉我我做错了吗?

回答

1

您使用XPath的不正确的语法在By.XpathBy.LinkText只能a元件上的文字和By.ClassName看起来不错,但可能有更多的元素与类名,这就是为什么你不能得到正确的元素,所以你应该尝试下面提供的XPath使用文本: -

driver.FindElement(By.Xpath("//div[text() = 'TextToFind']")); 

或者

driver.FindElement(By.Xpath("//div[. = 'TextToFind']")); 

或者

driver.FindElement(By.Xpath("//*[contains(., 'TextToFind')]")); 

希望它的作品... :)

+0

对于我的生活,我无法得到这个工作。 C#: var x = _driver.FindElement(By.XPath(“// span [text()='Applications']”)); HTML: 应用程序