3

私はSeleniumを使用して、WebDriver(最近、RCからWebDriverに切り替えたばかり)を使用して、「Mail」というリンクがあるWebページをナビゲートしています。リンクをクリックしたいのですが、テストケースは常にエラーで失敗します:

org.openqa.selenium.NoSuchElementException:要素が見つかりません:{"method": "link text"、 "selector": "Mail"}

Firebugで要素を検査すると、次のHTMLが表示されます。

<a href="url/New-Doc" target="_top" fahidden="false" faswid="e-switcher-mail" faprop="p-e-switcher-function-id">Mail</a>

これは、リンクをクリックしようとするJavaです。

driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.findElement(By.linkText("Mail"));    
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

要素が画面に表示されていることがわかりますが、それでもテストケースは失敗します。

私がここで見逃している可能性があるもの、またはリンク要素を見つける別の方法を誰かが知っていますか?

4

3 に答える 3

1

XPath経由で試してください。例:

driver.findElement(By.xPath("/a[text()='Mail']"));

また、ページにiframeがないことを確認するために再確認する価値があります。

于 2012-04-15T20:34:12.877 に答える
1

私でさえ一度この状況に直面したことがあります。ソースコードを表示して、探している要素がフレーム内にあるかどうかを確認します。はいの場合、最初に要素が配置されているフレームに切り替えてから、要素を探します。それは私にとってこのように機能しました。

于 2013-03-25T11:09:46.207 に答える
0

これまでのところ、次のような場合に私が見つけた最善の回避策は次のとおりです。

  • SeleniumIDEがインストールされているFirefoxを開く
  • Firefoxでテストページを開きます
  • セレンIDEを実行し、記録を開始して、リンクをクリックします
  • Selenium IDEは、ターゲットを見つける方法を提供します。相対XPathに切り替えると、魔法のようになります(または、私の場合は、常に役に立ちました)
于 2012-04-15T18:10:01.980 に答える