open
open(url)
- 在浏览器中打开URL,可以接受相对和绝对路径两种形式
type
type(inputLocator, value)
- 模拟人手的输入过程,往指定的input中输入值
- 也适合给复选和单选框赋值
click
click(elementLocator)
- 点击连接,按钮,复选和单选框
- 如果点击后需要等待响应,则用"clickAndWait"
- 如果是需要经过JavaScript的alert或confirm对话框后才能继续操作,则需要调用verify或assert来告诉Selenium你期望对对话框进行什么操作。
goBack()
模拟点击浏览器的后退按钮
close()
模拟点击浏览器关闭按钮
select
select(dropDownLocator, optionSpecifier)
- 根据optionSpecifier选项选择器来选择一个下拉菜单选项
- 如果有多于一个选择器的时候,如在用通配符模式,如"f*b*",或者超过一个选项有相同的文本或值,则会选择第一个匹配到的值
元素的定位以及操作
id name class name link text partial link text tag name css selector xpath
通过元素的ID定位元素:findElement(By.id("ele"));
通过元素的名称定位元素:findElement(By.name("ele"));
通过元素的html中的位置定位元素:findElement(By.xpath("ele"));
通过元素的标签名称定位元素:findElement(By.tagName("ele"));
通过元素的链接名称定位元素:findElement(By.LinkText("ele"));
通过元素的类名定位元素:findElement(By.className("ele"));
通过元素的css定位元素:findElement(By.cssSelector("ele");
通过元素的部分链接名称定位元素:findElement(By.pareialLinkText("ele"));
对ID为ele的元素进行点击操作:driver.findElement(By.id(ele));
对ID为ele的元素进行发送字符操作:driver.findElement(By.id(ele).sendKeys("123456"));
操作与获取页面元素
点击:element.click()
填写内容:element.SendKeys()
清空:element.clear()
提交:element.submit()
获取标题:driver.getTitle()
获取Url:driver.getCurrentUrl()
获取文本:driver.getText()
存储勾选情况:element.isSelected()
验证元素是否可展示:element.isDisplayed()
获取标签名称:element.getTagName()
获取指定属性的值:element.getAttribute()
存储可编辑状态:element.isEnabled()
浏览器操作
打开网页:navigation.to()
浏览器最大化:driver.manage().window().maximize()
前进、后退:navigation.back() navigation.forward()
刷新:navigation.refresh()
对于普通键盘,使用 sendKeys(keysToSend) 就可以实现,比如按键 TAB、Backspace 等
Actions action = new Actions(driver);
action.sendKeys(Keys.TAB);// 模拟按下并释放 TAB 键
action.sendKeys(Keys.SPACE);// 模拟按下并释放空格键
/***
针对某个元素发出某个键盘的按键操作,或者是输入操作,
比如在 input 框中输入某个字符也可以使用这个方法。这个方法也可以拆分成:
action.click(element).sendKeys(keysToSend)。
action.sendKeys(element,keysToSend);
左键点击:
Actions action = new Actions(driver);
action.click(driver.findElement(By.name(element)))
右键点击:
Actions action = new Actions(driver);
action.contextClick(driver.findElement(By.name(element)))
双击:
Actions action = new Actions(driver);
action.doubleClick(driver.findElement(By.name(element)))