**帮助文档链接:**https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/WebElement.html
1.input输入框
举例:
//找到输入框元素:
WebElement element = driver.findElement(By.id("user"));
//将输入框清空:
element.clear();
//在输入框中输入内容:
element.sendKeys(“test”);
//获取输入框的文本内容:
element.getAttribute("value");
2.单选项(Radio Button)
//找到单选框元素:
WebElement bookMode =driver.findElement(By.id("BookMode"));
//选择某个单选项:
bookMode.click();
//清空某个单选项:
选择另一个单选项
//判断某个单选项是否已经被选择:
bookMode.isSelected();
3.下拉选择框(Select)
//找到下拉选择框的元素:
Select select = new Select(driver.findElement(By.name("select")));
//选择对应的选择项:
select.selectByVisibleText(“未提交”);
//或
select.selectByValue(“opel”);
//或者通过index选择
select.selectByIndex(1);
//不选择对应的选择项:
select.deselectAll();
select.deselectByValue(“MA_ID_001”);
select.deselectByVisibleText(“mediaAgencyA”);
//或者获取选择项的值:
select.getAllSelectedOptions();//多选列表,list循环可获取到对应的值
select.getFirstSelectedOption().getText();//单选列表直接获取值
4.超链接
//找到超链接的元素:
WebElement hreflink =driver.findElement(By.cssSelector("a[href*='baidu']"));
//点击
hreflink.click();
5.多选项(Checkbox)
//多选项的操作和单选的差不多:
WebElement checkbox =driver.findElement(By.id("myCheckbox."));
checkbox.click();
checkbox.isSelected();
checkbox.isEnabled();
6.按钮(Button)
//找到按钮元素:
WebElement saveButton = driver.findElement(By.id("save"));
//点击按钮:
saveButton.click();
//判断按钮是否enable:
saveButton.isEnabled ();
//Actions类就是执行鼠标的各种事件,相当于一个鼠标
Actions actions = new Actions(driver);
//单击
actions.click(subButton).perform();
//双击
actions.doubleClick(subButton).perform();
7.弹出对话框(Popup dialogs)
Alert alert = driver.switchTo().alert();
alert.accept();
alert.dismiss();
alert.getText();
alert.sendKeys("Text”);//多个输入框的时候??
8.表单(Form)
Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交:
WebElement approve = driver.findElement(By.id("approve"));
approve.click();
//或
approve.submit();//只适合于表单的提交
9.左右选择框
也就是左边是可供选择项,选择后移动到右边的框中,反之亦然。
例如:
Select lang = new Select(driver.findElement(By.id("languages")));
lang.selectByVisibleText(“English”);
WebElement addLanguage =driver.findElement(By.id("addButton"));
addLanguage.click();
10.上传文件(Upload File)
//上传文件的元素操作:
WebElement adFileUpload = driver.findElement(By.id("WAP-upload"));
String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";
adFileUpload.sendKeys(filePath);
//拖拉(Drag andDrop)
WebElement element =driver.findElement(By.name("source"));
WebElement target = driver.findElement(By.name("target"));
(new Actions(driver)).dragAndDrop(element, target).perform();
11.鼠标悬浮到按钮,点击子菜单
WebElement mouse = driver.findElement(By.cssSelector("#navbar img"));//鼠标放上去的菜单
Actions action = new Actions(driver);
action.moveToElement(mouse).perform();
Thread.sleep(3000);
driver.findElement(By.cssSelector("#navbar li:nth-child(6)")).click();//需要点击的子菜单
12.判断元素是否显示
driver.findElement(By.className("btn-agree")).isDisplayed();
13.利用js实现元素的控制
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('name').value='姓名'");
14.利用jquery实现元素的控制
web页面一般都有加载jquery库,所以就不用在脚本中加载了,直接使用jquery就好
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("$('#name').val('姓名')");
15.时间、日期选择控件处理方法
//先去掉控件的不可写属性,然后再当做一般的输入框赋值
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('liveTime').removeAttribute('readonly')");
driver.findElement(By.id("liveTime")).click();
Thread.sleep(3000);
driver.findElement(By.id("liveTime")).sendKeys(liveTime);
16.操作dialog弹框
driver.findElement(By.className("choosetag-btn")).click();//点击按钮,页面弹出页面
Thread.sleep(3000);
//切换到弹窗页面操作数据
driver.switchTo().frame("choose_tag_dialog");
Thread.sleep(3000);
//切回到主页面
driver.switchTo().defaultContent();
Thread.sleep(3000);
17.当前页面弹出一个新的浏览器页面,对新的浏览器页面进行操作
// 获取当前页面句柄
String handle = driver.getWindowHandle();
// 获取所有页面的句柄,并循环判断不是当前的句柄
for (String handles : driver.getWindowHandles()) {
if (handles.equals(handle))
continue;
driver.switchTo().window(handles);
}
//之后就可以操作心得浏览器页面的元素了