Java webelement=driver.findelementby(By.id(";)中的driver.findelementby(By.id(";)是什么
我是编程新手,但正在从事Selenium自动化。 我看到在Java webelement=driver.findelementby(By.id(";)中的driver.findelementby(By.id(";)是什么,java,c#,selenium,selenium-webdriver,Java,C#,Selenium,Selenium Webdriver,我是编程新手,但正在从事Selenium自动化。 我看到在WebDriver=new ChromeDriver()中,WebDriver和ChromeDriver都是类,ChromeDriver正在实现WebDriver,因此WebDriver被用作引用变量来放置ChromeDriver类的对象 但是在WebElement=driver.findelementby(By.id(“某物”)中,WebElement是一个类,但在右侧,它似乎是一个方法,我假设,FindElement是Chromedr
WebDriver=new ChromeDriver()
中,WebDriver
和ChromeDriver
都是类,ChromeDriver
正在实现WebDriver
,因此WebDriver
被用作引用变量来放置ChromeDriver
类的对象
但是在
WebElement=driver.findelementby(By.id(“某物”)
中,WebElement
是一个类,但在右侧,它似乎是一个方法,我假设,FindElement
是Chromedriver
类中的一个方法。引用变量等同于一个方法,而不是像上面段落中那样的类的对象。这怎么可能?这个概念叫什么。这里是否有与上述段落中的概念相关的链接?在OOP中,方法通常返回一些不同类型的值。有时方法不能返回任何内容。在Java中,它被注释为void
在您的示例中,您通过调用id
调用类的静态方法。此方法返回的是WebDriver
接口中声明的方法findeElementBy
的参数,该接口由ChromeDriver
实现。此方法将WebElement
声明为返回类型
阅读更多关于面向对象编程(OOP)的内容,熟悉这个概念。您可以在此处找到有用的资源,例如:
-这与java有关。
-这里有更多OOP中的示例,方法通常返回一些不同类型的值。有时方法不能返回任何内容。在Java中,它被注释为void
在您的示例中,您通过调用id
调用类的静态方法。此方法返回的是WebDriver
接口中声明的方法findeElementBy
的参数,该接口由ChromeDriver
实现。此方法将WebElement
声明为返回类型
阅读更多关于面向对象编程(OOP)的内容,熟悉这个概念。您可以在此处找到有用的资源,例如:
-这与java有关。
-这里有更多的赋值表达式示例(如a=b
),左侧(a
)是变量,右侧(b
)是表达式
表达式只是在计算时具有某种类型的值(或null
)的东西。像1
这样的文字是表达式,但1+1+1
也是表达式:可以将其计算为int
类型的值
如果您看到WebDriver=new ChromeDriver()代码>,这在技术上是一个变量声明语句。您的分析大致正确,但重要的是要知道:
- 您正在这里声明一个新变量;为了声明一个新变量,它必须是一个语句(注意
;
);您可以简单地在表达式中指定现有变量,不过:
driver = new ChromeDriver()
- 您必须将整个
new ChromeDriver()
作为表达式来阅读:它是一个类实例创建表达式,您创建的实例将是一个ChromeDriver
(不是子类)
WebElement=driver.findelementby(By.id(“某物”)
实际上并没有什么不同,它只是右侧的一种不同类型的表达式:它是一种方法调用表达式
- 假设您如上所述声明了
driver
,findelementby
是WebDriver
类中的一个方法,而不是ChromeDriver
(尽管它也将作为WebDriver
的子类出现在ChromeDriver
中)
在赋值表达式(如a=b
)中,左侧(a
)是变量,右侧(b
)是表达式
表达式只是在计算时具有某种类型的值(或null
)的东西。像1
这样的文字是表达式,但1+1+1
也是表达式:可以将其计算为int
类型的值
如果您看到WebDriver=new ChromeDriver()代码>,这在技术上是一个变量声明语句。您的分析大致正确,但重要的是要知道:
- 您正在这里声明一个新变量;为了声明一个新变量,它必须是一个语句(注意
;
);您可以简单地在表达式中指定现有变量,不过:
driver = new ChromeDriver()
- 您必须将整个
new ChromeDriver()
作为表达式来阅读:它是一个类实例创建表达式,您创建的实例将是一个ChromeDriver
(不是子类)
WebElement=driver.findelementby(By.id(“某物”)
实际上并没有什么不同,它只是右侧的一种不同类型的表达式:它是一种方法调用表达式
- 假设您如上所述声明了
driver
,findelementby
是WebDriver
类中的一个方法,而不是ChromeDriver
(尽管它也将作为WebDriver
的子类出现在ChromeDriver
中)
在“
WebElement=driver.findElement(By.id(“某物”))
”中
“By.id(“某物”)
”:定位器:定位器告诉Selenium需要在哪些GUI元素(如文本框、按钮、复选框等)上操作。因此,它将使用“id
”查找“something
”元素
“findElement(By.id(“某物”))
”:方法:使用“findElement(By.locator())”方法在WebDriver中定位元素