Selenium自动修改下拉框默认勾选项

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


执行程序前请先配置驱动:
关于Java selenium使用前浏览器驱动的下载和环境变量的配置
关于Selenium自动化测试工具的Java实现详情请参考文章:
如何查看页面对应的Selenium定位参数
Java实现 selenium Web自动化测试(简单篇)
Java实现 selenium Web自动化测试(详细篇)


1. 下拉框html文件

在演示操作下拉框之前先写一个简单的html页面,当然如果你有现成的可以直接用
这里有一个简单的带下拉框的html
combobox.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<body>

    <div>
        <label for="sc">地区选择:</label>

        <select id="sc" name="SC">
            <option value="1" selected>上海</option>
            <option value="2" >北京</option>
            <option value="3" >深圳</option>
        </select>
    </div>
    
    <div>
        <label for="in">libai</label>
        <input type="text" id="in" name="IN" maxlength="100" >
    </div>

</body>

</html>

可以复制放到一个地方,然后把文件路径复制下来

2. 通过Selenium打开html页面

将html路径配置到代码中,打开

        //创建驱动对象
        WebDriver webDriver = new ChromeDriver(cops);
        // 启动需要打开的网页
//        webDriver.get("https://www.baidu.com");
        webDriver.get("E:\\PROJECTS\\MYSELF\\libai-multifunctional-platform\\src\\main\\java\\com\\libai\\test\\selenium\\html\\combobox.html");

可参考第四部分完整代码执行程序打开页面,如下
在这里插入图片描述

3. 修改下拉框默认勾选的选项

可通过Select的selectByValue和selectByIndex方法进行默认选项的修改
先定位下拉框的元素位置

        //定位select标签元素位置
        WebElement select_ele = webDriver.findElement(By.name("SC"));

3.1 selectByValue

        //重新设置默认选择项,值改为3
        new Select(select_ele).selectByValue("3");

3.2 selectByIndex

        //或者根据选项的排序,从0开始选择索引为2的选项
        new Select(select_ele).selectByIndex(2);

执行后即可修改下拉框的默认选项,如图
在这里插入图片描述

4. 完整代码

ComboBoxControlTest.java

package com.libai.test.selenium.chrome;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.Select;

/**
 * @ClassDescription: 下拉框控制模拟
 * @JdkVersion: 1.8
 * @Author: 李白
 * @Created: 2024/5/8 17:18
 */
public class ComboBoxControlTest {
    public static void main(String[] args) throws InterruptedException {
        //指定驱动,第一个参数为驱动名称,不同浏览器的参数名称不一样,请根据浏览器查询到对应的浏览器参数名,第二个参数为驱动文件路径,即驱动完整文件路径
        System.setProperty("webdriver.chrome.driver", "D:\\JavaSoftWares\\Google\\driver\\chromedriver-win64\\chromedriver.exe");
        // 谷歌驱动
        ChromeOptions cops = new ChromeOptions();
        // 允许所有请求
        cops.addArguments("--remote-allow-origins=*");
        //默认设置开始打开网页时窗口最大化
        cops.addArguments("--start-maximized");
        //创建驱动对象
        WebDriver webDriver = new ChromeDriver(cops);
        // 启动需要打开的网页
//        webDriver.get("https://www.baidu.com");
        webDriver.get("E:\\PROJECTS\\MYSELF\\libai-multifunctional-platform\\src\\main\\java\\com\\libai\\test\\selenium\\chrome\\html\\combobox.html");
        //指定窗口大小--最大化
//        webDriver.manage().window().maximize();

        Thread.sleep(3000);
        Thread.sleep(3000);

        //定位select标签元素位置
//        WebElement select_ele = webDriver.findElement(By.xpath("//select"));
//        WebElement select_ele = webDriver.findElement(By.id("sc"));
        WebElement select_ele = webDriver.findElement(By.name("SC"));

        //重新设置默认选择项,值改为3
//        new Select(select_ele).selectByValue("3");
        //或者根据选项的排序,从0开始选择索引为2的选项
        new Select(select_ele).selectByIndex(2);
        Thread.sleep(3000);
        Thread.sleep(3000);

        //关闭整个浏览器,所有网页窗口都会关闭
        webDriver.quit();
    }
}


感谢阅读,祝君暴富!

  • 23
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

寒山李白

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

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

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

打赏作者

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

抵扣说明:

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

余额充值