0

下面代码中的 By.cssSelector 和 By.ByCssSelector 有什么区别。

driver.findElement(By.cssSelector("test")).click(); driver.findElement(By.ByCssSelector.id("")).click();

4

1 回答 1

1

cssSelector- 按类的静态方法。

ByCssSelector- By Class的静态内部类。

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缺少关键字。

  • 我们必须在调用时传递 css 选择器值,ByCssSelector因为它具有
    参数化构造函数,该构造函数采用 cssselector 值。

  • ByCssSelector内部类没有可调用的 id 方法。

于 2021-02-13T18:59:28.213 回答