下面代码中的 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- 按类的静态方法。
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 方法。