java - webelement element=driver.findelement(By.id ("")) 中的 driver.findelementby(By.id ("")) 是什么

标签 java c# selenium selenium-webdriver

我是编程新手,但正在研究 Selenium 自动化。 我看到在 WebDriver driver=new ChromeDriver() 中,WebDriverChromeDriver 都是类,并且 ChromeDriver 正在实现WebDriver 因此 WebDriver 被用作引用变量来放置 ChromeDriver 类的对象。

但是在WebElement element=driver.findelementby(By.id("something"))中,WebElement是一个类,但在右侧,它出现作为一个方法,我假设 FindElementChromedriver 类中的一个方法。引用变量等同于方法,而不是像上面段落中那样的类的对象。这怎么可能?这个概念叫什么。这里有与上面段落中的概念相关的链接吗?

最佳答案

在赋值表达式(如a = b)中,左侧(a)是一个变量,右侧手边 (b) 是一个表达式

表达式只是在求值时具有某种类型的值(或null)的东西。像 1 这样的文字是表达式,但 1 + 1 + 1 也是如此:它可以被计算为 int 类型的值。

如果您看到WebDriver driver = new ChromeDriver();,从技术上讲,这是一个变量声明语句。您的分析大致正确,但重要的是要知道:

  • 您正在此处声明一个新变量;为了声明一个新变量,它必须是一个语句(注意 ;);不过,您可以简单地在表达式中分配现有变量:

    driver = new ChromeDriver()
    
  • 您必须将整个 new ChromeDriver() 作为表达式进行读取:它是一个类实例创建表达式,其中您创建的实例将是 ChromeDriver(不是子类)。

WebElement element=driver.findelementby(By.id("something")); 并没有真正的不同,它只是右侧表达式的不同类型:它是一个方法调用表达式。

  • 假设您如上声明了 driverfindelementbyWebDriver 类中的一个方法,而不是 ChromeDriver(尽管它也会作为 WebDriver 的子类出现在 ChromeDriver 中)。

关于java - webelement element=driver.findelement(By.id ("")) 中的 driver.findelementby(By.id ("")) 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42130272/

相关文章:

java - 如何在java中使用Selenium webdriver单击IE浏览器的Activex Install按钮

java - 使用节点和 null 查找最小值

java - 无法初始化代理 - 无 session

c# - 忽略 TcpClient/NetworkStream 中的传入数据

c# - 将 powershell 变量传递给 PS 脚本中的 C# 代码

C# Selenium 浏览和上传文件

java - 使用 Selenium 和 Browserstack 配置 Jenkins 构建

java - 多对多映射 JsonMappingException : Infinite recursion (StackOverflowError)

java - 为什么我的 SWT Shell 总是在后台出现?

c# - 如何检查FTP连接?