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