本篇介绍我们如何利用selenium 来操作各种页面元素
链接(link)
<div> <p>链接 link</p> <a href="www.cnblogs.com/tankxiao">小坦克</a> </div>
链接的操作
// 找到链接元素 WebElement link1 = driver.findElement(By.linkText("小坦克")); WebElement link11 = driver.findElement(By.partialLinkText("坦克")); // 点击链接 link1.click();
输入框 textbox
<div> <p>输入框 testbox</p> <input type="text" id="usernameid" value="username" /> </div>
输入框的操作
// 找到元素 WebElement element = driver.findElement(By.id("usernameid")); // 在输入框中输入内容 element.sendKeys("test111111"); // 清空输入框 element.clear(); // 获取输入框的内容 element.getAttribute("value");
按钮(Button)
<div> <p>按钮 button</p> <input type="button" value="添加" id="proAddItem_0" /> </div>
找到按钮元素
//找到按钮元素 String xpath="//input[@value='添加']"; WebElement addButton = driver.findElement(By.xpath(xpath));
// 点击按钮 addButton.click();
// 判断按钮是否enable addButton.isEnabled();
下拉选择框(Select)
<div> <p>下拉选择框框 Select</p> <select id="proAddItem_kind" name="kind"> <option value="1">电脑硬件</option> <option value="2">房产</option> <option value="18">种类AA</option> <option value="19">种类BB</option> <option value="20">种类BB</option> <option value="21">种类CC</option> </select> </div>
下拉选择框的操作
// 找到元素
Select select = new Select(driver.findElement(By.id("proAddItem_kind")));
// 选择对应的选择项, index 从0开始的 select.selectByIndex(2); select.selectByValue("18"); select.selectByVisibleText("种类AA");
// 获取所有的选项
List<WebElement> options = select.getOptions();
for (WebElement webElement : options) {
System.out.println(webElement.getText());
}
单选按钮(Radio Button)
<div> <p>单选项 Radio Button</p> <input type="radio" value="Apple" name="fruit>" />Apple <input type="radio" value="Pear" name="fruit>" />Pear <input type="radio" value="Banana" name="fruit>" />Banana <input type="radio" value="Orange" name="fruit>" />Orange </div>
单选项元素的操作
// 找到单选框元素 String xpath="//input[@type='radio'][@value='Apple']"; WebElement apple = driver.findElement(By.xpath(xpath));
//选择某个单选框 apple.click();
//判断某个单选框是否已经被选择 boolean isAppleSelect = apple.isSelected();
// 获取元素属性 apple.getAttribute("value");
多选框 check box
<div> <p>多选项 checkbox</p> <input type="checkbox" value="Apple" name="fruit>" />Apple <input type="checkbox" value="Pear" name="fruit>" />Pear <input type="checkbox" value="Banana" name="fruit>" />Banana <input type="checkbox" value="Orange" name="fruit>" />Orange </div>
多选框的操作和单选框一模一样的, 这里就不再讲了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库