【web自动化】selenium的使用(二)

目录

复选框操作

示例:批量操作对象,比如将页面上所有的checkbox 都勾上

方法:先用标签选择器选择页面上所有的input,然后从中过滤出属性type是checkbox的 并勾选

java 复制代码
List<WebElement> webElements=webDriver.findElements(By.cssSelector("input"));
for(int i=0;i<webElements.size();i++)
{     
    if(webElements.get(i).getAttribute("type").equals("checkbox"))
    {
        webElements.get(i).click();
    }
}

多层框架操作

对于一个web 应用,经常会出现框架(frame) 或窗口(window)的应用,这也就给我们的定位带来了一定的困难,所以我们需要先切换到要定位的元素的框架中去。

方法:

1.定位外层框架 :首先,你需要定位到外层框架。使用driver.switchTo().frame()方法可以切换到框架上下文。你可以通过框架的ID、名称或索引来定位。

2.定位内层框架 :如果页面中有多层嵌套的框架,你可能需要先定位到外层框架,然后再定位到内层框架。同样使用driver.switchTo().frame()方法切换到内层框架上下文。

3.定位框架内的元素:在切换到正确的框架上下文后,你就可以像定位普通元素一样来定位框架内的元素。使用findElement()或其他定位方法来找到你需要的元素。

java 复制代码
// 切换到外层框架
driver.switchTo().frame("outerFrame");

// 切换到内层框架
driver.switchTo().frame("innerFrame");

// 定位框架内的元素并操作
WebElement element = driver.findElement(By.id("elementId"));
element.click();

// 退出内层框架
driver.switchTo().parentFrame();

// 退出外层框架,回到默认页面上下文
driver.switchTo().defaultContent();

下拉框操作

首先要定位到下拉框的元素,然后选择下拉列表中的选项进行点击操

作。通常由两种方法来定位下拉列表,均需创建Select 类

方法一:通过索引(从0开始计数)

方法二:通过下拉框取值

java 复制代码
WebElement webElement=webDriver.findElement(By.cssSelector("#ShippingMethod"));
Select select=new Select(webElement);
 //两种下拉框选择方式
select.selectByIndex(2); //根据按钮选择
select.selectByValue("11.61");

弹窗操作

当浏览器中需要对弹窗进行操作时,通常运用下面几个API

切换到弹窗:switchTo().alert()

确定:switchTo()...alert().accept()

取消:switchTo()...alert().dismiss()

向弹窗中输入文本:sendKeys()

java 复制代码
向上方弹窗中输入hello并确认
webdriver.switchTo().alert().sendKeys("hello");
webdriver.switchTo().alert().accept();
相关推荐
二进制的Liao4 小时前
【编程】脚本编写入门:从零到一的自动化之旅
数据库·python·算法·自动化·bash
明达智控技术14 小时前
MR30分布式I/O模块服务换热站项目,守护万家温暖
分布式·物联网·自动化
捷米研发三部15 小时前
新能源激光焊接工作站西门子1500系列PLC通过Profinet转CANopen智能网关和机器人进行通讯案例
网络·自动化
star_start_sky1 天前
住宅代理网络:我最近用来数据采集和自动化的小工具
网络·爬虫·自动化
整列机厂家-东莞唯思特1 天前
异形零件自动化排列:整列机与传统振动盘的 5 大技术维度解析
科技·自动化·制造
小任今晚几点睡1 天前
Ansible 基础配置与负载均衡部署实践
运维·自动化·ansible·负载均衡
科立分板机源头厂家1 天前
第28集科立分板机:科立自动化分板机适配多场景生产筑牢电子制造品质防线
运维·自动化·制造
itas1092 天前
电力系统调度自动化的五遥: 遥信 遥测 遥控 遥调 遥视
电力系统·自动化·电力自动化·数据采集与监控系统
明达智控技术2 天前
MR30分布式IO、MBox20边缘计算网关系列产品在航空航天项目的应用
物联网·自动化
RPA 机器人就找八爪鱼2 天前
RPA 重构财务新生态:自动化驱动的转型革命
重构·自动化·rpa