以下のコードの By.cssSelector と By.ByCssSelector の違いは何ですか。
driver.findElement(By.cssSelector("test")).click(); driver.findElement(By.ByCssSelector.id("")).click();
以下のコードの By.cssSelector と By.ByCssSelector の違いは何ですか。
driver.findElement(By.cssSelector("test")).click(); driver.findElement(By.ByCssSelector.id("")).click();
cssSelector
- By Class の静的メソッド。
ByCssSelector
- By Class の static 内部クラス。
cssSelector
メソッドは内部的にByCssSelector
クラスを作成します。
したがって
driver.findElement(By.cssSelector("test")).click();
次のように書くことができます
driver.findElement(new By.ByCssSelector("test")).click();
どちらも同じです。
アップデート:
driver.findElement(By.ByCssSelector.id("test")).click();
上記のステートメントは無効です。
findElement はBy
オブジェクトを想定していますが、new
キーワードがありません。
cssselector 値を取るパラメーター化されたコンストラクターがあるByCssSelector
ため、呼び出し時に css セレクター値を渡す必要があります。
ByCssSelector
内部クラスには、呼び出す id メソッドがありません。