📅  最后修改于: 2023-12-03 15:37:31.333000             🧑  作者: Mango
Selenium 是一个流行的 Web 自动化测试工具,Java 是其中的一个支持语言。在使用 Selenium 进行测试时,选择正确的元素是至关重要的。本文将介绍在 Selenium Java 中如何选择元素。
WebDriver 接口是 Selenium 的核心接口,它提供各种方法来查找并与 Web 页面的元素进行交互。以下是一些常用的方法:
findElement()
方法在页面中查找一个单独的元素,返回一个 WebElement 对象。如果找不到该元素,则抛出 NoSuchElementException 异常。例子:
WebElement element = driver.findElement(By.id("myId"));
findElements()
方法类似于 findElement()
,但是返回一个列表,其中包含所有匹配该选择器的元素。如果没有匹配的元素,则返回空列表。例子:
List<WebElement> elements = driver.findElements(By.className("myClass"));
在调用 findElement()
或 findElements()
方法时,需要通过 By
对象指定要查找的元素。By
是一个类,它有多个静态方法,用于查找页面元素。以下是一些常用的方法:
By.id(String id)
: 通过 id
属性查找元素。By.name(String name)
: 通过 name
属性查找元素。By.className(String className)
: 通过 class
属性查找元素。By.tagName(String tagName)
: 通过标签名查找元素。By.cssSelector(String cssSelector)
: 通过 CSS 选择器查找元素。By.linkText(String linkText)
: 通过链接文本查找链接元素。By.partialLinkText(String partialLinkText)
: 通过部分链接文本查找链接元素。By.xpath(String xpathExpression)
: 通过 XPath 表达式查找元素。以下是一些例子:
By id = By.id("myId");
By name = By.name("myName");
By className = By.className("myClass");
By tagName = By.tagName("a");
By cssSelector = By.cssSelector(".myClass");
By linkText = By.linkText("myLinkText");
By partialLinkText = By.partialLinkText("myPartialLinkText");
By xpath = By.xpath("//a[contains(@class,'myClass')]");
WebElement 接口表示一个 HTML 元素。它提供了很多方法,用于与元素进行交互。以下是一些常用的方法:
click()
: 单击元素sendKeys(CharSequence... keysToSend)
: 将文本发送给元素getText()
: 获取元素文本getAttribute(String name)
: 获取元素属性的值isEnabled()
: 判断元素是否可用isSelected()
: 判断复选框或单选框是否被选中isDisplayed()
: 判断元素是否显示在页面中submit()
: 提交表单以下是一些例子:
WebElement element = driver.findElement(By.id("myId"));
element.click();
element.sendKeys("hello world");
String text = element.getText();
String attribute = element.getAttribute("value");
boolean enabled = element.isEnabled();
boolean selected = element.isSelected();
boolean displayed = element.isDisplayed();
element.submit();
本文介绍了在 Selenium Java 中查找和选择 Web 元素的基础知识。通过使用 WebDriver
接口、By
对象和 WebElement
接口,开发人员可以编写强大且灵活的自动化测试程序。