2016-07-29 5 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")) 

これも動作しませんでした。誰かが私が間違ってやっていることを教えてもらえますか?あなたがBy.XpathBy.LinkTextでXPathの間違った構文を使用している

答えて

1

は、テキストと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: アプリケーション

関連する問題