在Selenium 的findElement()和findElements()方法通过webdriver和WebElement类提供的帮助进行webdriver定位元素。
findElement()方法返回一个基于指定的搜索条件WebElement对象或最终抛出一个异常,如果没有找到符合搜索条件的任何元素。
findElements()方法返回WebElements符合搜索条件的列表。如果没有发现的元素,则返回空列表。
下表给出了定位selenium 元素的webdriver的Java语法。
定位器的使用
现在让我们了解这些定位器方法每个人的实际使用情况与http://www.calculator.net帮助
1,根据ID:对象访问使用ID的帮助。在这种情况下,它是文本框的ID。该值使用SendKeys方法与ID(cdensity)的帮助下进入文本。
driver.findElement(By.id("cdensity")).sendKeys("10");
|
2,按名称:访问对象时使用的名称的帮助。在这种情况下,它是文本框的名称。该值是使用SendKeys方法与ID(cdensity)的帮助下进入文本。
driver.findElement(By.name("cdensity")).sendKeys("10");
|
3,通过类名:对象与类的名称,帮助进行访问。在这种情况下,它是WebElement的类名。该值可以用gettext方法进行访问。
List<WebElement>
byclass = driver.findElements(By.className("smalltext
smtb")); |
4,通过标签名:元素的DOM标签名称,这是很容易处理的表使用此方法。我们可以看一个例子了演示程序。
WebElement
table = driver.findElement(By.id("calctable"));
List<WebElement> row = table.findElements(By.tagName("tr"));
int rowcount = row.size(); |
5,通过链接文本:此方法可以帮助我们找到与之相配的可见文本的链接元素。
driver.findElements(By.linkText("Volume")).click();
|
5,通过部分链接文本:此方法可以帮助我们找到了部分匹配可见文本的链接元素。
driver.findElements(By.partialLinkText("Volume")).click();
|
6,使用CSS:CSS的使用作为一种方法来识别网络对象,但不是所有的浏览器支持CSS标识。
WebElement
loginButton = driver.findElement(By.cssSelector("input.login"));
|
7,通过Xpath:XML表示XML路径语言,是一种查询语言,用于从XML文档中选择节点。 XPath语言是基于XML文档的树表示,并提供选择使用各种标准的节点来浏览周围的树。
driver.findElement(By.xpath(".//*[@id='content']/table[1]/tbody/tr/td/table/tbody/tr[2] /td[1]/input")).sendkeys("100");
|
|