08_页面元素的操作

**帮助文档链接:**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);
        }
//之后就可以操作心得浏览器页面的元素了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春暖花开dcm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值