1

現在のWebページにセレンを含むフォーム要素が存在するかどうかを確認する必要があります。誰かがその方法を知っていますか?

4

3 に答える 3

2

これを行うには2つの方法があります。例外をキャッチするlefthandedgoatのバージョンを使用するか、FindElementsメソッドを使用してそのサイズを確認するか、次のようになります(C#ではLINQを使用)。

public bool IsElementPresent(By selector)
{
    return driver.FindElements(selector).Any();
}

どちらのオプションでも問題なく動作しますが、それほど違いはありません。私は個人的には別の方法を使用していますが、これを行うには一般的に2つの方法があることを確認したかったのです。あなたは言語について言及していなかったので、あなたが使用している特定の言語があるかどうか私たちに知らせてください。

その下で、SeleniumでFindElement()を実行すると、このメソッドが実行されることに注意してください。

于 2012-09-14T23:08:57.560 に答える
1

セレンのC#バージョンでは、要素が存在しない場合は例外がスローされます。あなたはこのようなことをすることができます

public bool Exists(string cssSelector)
{
  try
  {
    browser.FindElement(By.CssSelector(cssSelector));
    return true
  }
  catch (Exception ex){}

  return false;
}


var exists = Exists("form");

Webドライバーが他の言語でどのように動作するかわかりません。

于 2012-09-14T18:26:04.963 に答える
0

次の2つの方法を使用できます。

input.findElements(By.xpath("//....blablalba....")).size() > 0

driver.findElement(By.xpath("//....blablalba....")).isDisplayed()
于 2012-09-15T10:16:03.737 に答える