【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();
相关推荐
Gerardisite28 分钟前
企微机器人开发指南
java·python·机器人·自动化·企业微信
数智化精益手记局29 分钟前
人员排班管理软件的自动化功能解析:解决传统手工人员进行排班管理耗时长的难题
运维·数据结构·人工智能·信息可视化·自动化·制造·精益工程
HackTorjan2 小时前
AI驱动的制品库高效管理:智能分类、自动化追踪与全生命周期优化
linux·人工智能·分类·自动化
微刻时光2 小时前
影刀RPA:For循环与ForEach循环深度解析与实战指南
人工智能·python·低代码·自动化·rpa·影刀实战
薛定谔的猫3694 小时前
深度解析 MCP (Model Context Protocol):重塑 AI Agent 的生态连接
自动化·llm·ai agent·技术架构·mcp·model context protocol
志栋智能4 小时前
超自动化巡检的核心价值:效率、质量与洞察
运维·服务器·网络·人工智能·自动化
金玉满堂@bj4 小时前
Playwright 对比 Selenium 总结
自动化
Agent产品评测局5 小时前
混合云架构适配:企业级智能体灵活部署完整方案与最佳实践 | 2026企业自动化选型硬核指南
运维·人工智能·ai·chatgpt·架构·自动化
爱编程的陶老师5 小时前
K8s是什么?——第一集:从“搬箱子”到“自动化仓库”的革命
容器·kubernetes·自动化
张3236 小时前
角色与内容集合:自动化配置的标准化复用机制
运维·自动化·ansible