我是硒新手,昨天通过观看几个视频开始学习它。我怀疑这段代码是如何工作的。请解释一下。
// I am creating a Object reference for the FirefoxDriver class
FirefoxDriver f=new FirefoxDriver();
//findElementByClassName method is available in FirefoxDriver class. i Can understand this.
f.findElementByClassName("Email").sendKeys("abc");
sendkeys("abc")
如何运作?它也是FirefoxDriver类的一种方法吗?但我知道它在测试区域中输入“abc”。我只想知道如何在这里使用它。
我以不同的方式尝试了同一段代码。在这里,WebElement类如何与firefoxDriver类一起使用?
FirefoxDriver f=new FirefoxDriver();
WebElement ex= f.findElementByClassName("Email");
ex.sendKeys("abc");
这两段代码都能正确完成所需的工作,但它们是如何工作的?
答案 0 :(得分:1)
是的,这两段代码都有效。
基本上,当你执行任何findElement
函数时,它将返回一个WebElement。 WebElement是一个指向附加到浏览器的HTML元素的对象。然后当你sendKeys()
时,驱动程序将转到该元素并输入。
答案 1 :(得分:0)
WebElements表示为HTML元素。
webdriver.findElement方法将获取满足条件的HTML元素。 下面的场景Web驱动程序将搜索具有类值email的HTML元素,它将返回相应的元素,selenium可以对其进行进一步操作,如click,sendkeys等...
webDriver.findElement(By.xpath( “// * [@类= '电子邮件']”) 要么 webDriver.findElement(By.className( “电子邮件”)
答案 2 :(得分:0)
这些都是完全相同的。你可以使用任何方法。
一个额外的优点第二种方法是,你可以重复使用相同的'ex'WebElement来进一步执行其他方法代码中的函数。这为您提供可重用性。
第一段代码:
FirefoxDriver f=new FirefoxDriver();
f.findElementByClassName("Email").sendKeys("abc");
- 在这里,我们有两种级联的方法来执行所需的功能 - 处理'FirefoxDriver'实例'f',然后使用此实例调用其方法'findElementByClassName',它返回一个WebElement,然后'sendKeys'fn将值'abc'输入到该web元素。
第二段代码:
FirefoxDriver f=new FirefoxDriver();
WebElement ex= f.findElementByClassName("Email");
ex.sendKeys("abc");
- 这里有两个实例,一个'f'用于FirefoxDriver,'ex'用于'WebElement'。
- 首先,创建FirefoxDriver的新实例并使用它我们找到WebElement并将其存储在'ex '并且使用这个'ex'我们正在执行sendKeys()操作。