- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是编程新手,但正在研究 Selenium 自动化。我看到在 WebDriver driver=new ChromeDriver()
中,WebDriver
和 ChromeDriver
都是类,并且 ChromeDriver
正在实现WebDriver
因此 WebDriver
被用作引用变量来放置 ChromeDriver
类的对象。
但是在WebElement element=driver.findelementby(By.id("something"))
中,WebElement
是一个类,但在右侧,它出现作为一个方法,我假设 FindElement
是 Chromedriver
类中的一个方法。引用变量等同于方法,而不是像上面段落中那样的类的对象。这怎么可能?这个概念叫什么。这里有与上面段落中的概念相关的链接吗?
最佳答案
在赋值表达式(如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"));
并没有真正的不同,它只是右侧表达式的不同类型:它是一个方法调用表达式。
driver
,findelementby
是 WebDriver
类中的一个方法,而不是 ChromeDriver
(尽管它也会作为 WebDriver
的子类出现在 ChromeDriver
中)。关于java - webelement element=driver.findelement(By.id ("")) 中的 driver.findelementby(By.id ("")) 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42130272/
public static void main(String[] args) { { System.setProperty("webdriver.chrome.driver",
WebElement p1 = (new FirefoxDriver()).findElement(By.xpath("//div[@class = 'site-title']")) ; WebEle
我是编程新手,但正在研究 Selenium 自动化。我看到在 WebDriver driver=new ChromeDriver() 中,WebDriver 和 ChromeDriver 都是类,并且
我是一名优秀的程序员,十分优秀!