【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();
相关推荐
九章云极AladdinEdu4 分钟前
超参数自动化调优指南:Optuna vs. Ray Tune 对比评测
运维·人工智能·深度学习·ai·自动化·gpu算力
学生信的大叔4 小时前
【Python自动化】Ubuntu24.04配置Selenium并测试
python·selenium·自动化
GAOJ_K5 小时前
弧形导轨如何提升新能源汽车的能效和续航里程?
科技·自动化·汽车·制造
全栈工程师修炼指南5 小时前
告别手动构建!Jenkins 与 Gitlab 完美协作,根据参数自动化触发CI/CD流水线实践
运维·ci/cd·自动化·gitlab·jenkins
Source.Liu10 小时前
【Pywinauto库】12.2 pywinauto.element_info 后端内部实施模块
windows·python·自动化
Source.Liu10 小时前
【Pywinauto库】12.1 pywinauto.backend 后端内部实施模块
开发语言·windows·python·自动化
宇钶宇夕11 小时前
西门子 S7-200 SMART PLC 核心指令详解:从移位、上升沿和比较指令到流水灯控制程序实战
运维·算法·自动化
大视码垛机15 小时前
速度与安全双突破:大视码垛机重构工业自动化新范式
大数据·数据库·人工智能·机器人·自动化·制造
疯狂的维修15 小时前
关于Gateway configration studio软件配置网关
网络协议·c#·自动化·gateway
arbboter1 天前
【自动化】深入浅出UIAutomationClient:C#桌面自动化实战指南
运维·c#·自动化·inspect·uiautomation·uia·桌面自动化