【自动化测试】Java+Selenium操作页面元素(合集)_java selenuim 获取页面元素
本文基于Java语言,依托于Eclipse工具,使用Selenium框架,主要介绍在Selenium中,如何操作Web页面中的各种元素。
Eclipse 搭建
1.1、Eclipse 配置




1.2、引入依赖包


修改pom.xml文件
在dependencys节点下,添加如下内容,保存即可自动下载
- 
 - 
org.seleniumhq.selenium - 
selenium-java - 
2.43.1 - 
 - 
 - 
org.testng - 
testng - 
6.9.4 - 
test - 
 - 
 - 
org.apache.poi - 
poi - 
3.9 - 
 
访问浏览器
2.1、火狐默认路径:
WebDriver diver = new FirefoxDriver();
2.2、其他浏览器(非默认路径)
谷歌

IE

火狐

访问路径
3.1、访问一个具体的url
String url = \"http://www.baidu.com\";
调用方法一:driver.get(url);
方法二:driver.navigate().to(url);
浏览器导航
- 
driver.navigate().back();//向前 - 
driver.navigate().forward ();//向后 - 
driver.navigate().refresh();//当前页刷新 
关闭浏览器
- 
//关闭当前页面 - 
driver.close(); - 
//关闭所有页面 - 
driver.quit(); 
页面元素的操作
6.1、输入框

备注:
- 
//找到输入框元素: - 
WebElement element = driver.findElement(By.id(\"user\")); - 
//将输入框清空: - 
element.clear(); - 
//在输入框中输入内容: - 
element.sendKeys(“test”); - 
//获取输入框的文本内容: - 
element.getAttribute(\"value\"); 
6.2、超链接

6.3、下拉选择框(Select)
对下拉框进行操作时首先要定位到这个下拉框,new 一个Selcet对象,然后对它进行操作
- 
//找到下拉选择框的元素: - 
Select select = new Select(driver.findElement(By.name(\"select\"))); - 
//选择对应的选择项: - 
select.selectByVisibleText(“未提交”); - 
//或 - 
select.selectByValue(“opel”); - 
//或者通过index选择 - 
select.selectByIndex(1); - 
//不选择对应的选择项: - 
select.deselectAll(); - 
select.deselectByValue(“MA_ID_001”); - 
select.deselectByVisibleText(“mediaAgencyA”); - 
//或者获取选择项的值: - 
select.getAllSelectedOptions();//多选列表,list循环可获取到对应的值 - 
select.getFirstSelectedOption().getText();//单选列表直接获取值 
6.4、单选项(Radio Button)
- 
//找到单选框元素: - 
WebElement bookMode =driver.findElement(By.id(\"BookMode\")); - 
//选择某个单选项: - 
bookMode.click(); - 
//清空某个单选项: - 
bookMode.clear(); - 
//判断某个单选项是否已经被选择: - 
bookMode.isSelected(); 
6.5、多选项(checkbox)
- 
//多选项的操作和单选的差不多: - 
WebElement checkbox =driver.findElement(By.id(\"myCheckbox.\")); - 
checkbox.click(); - 
checkbox.clear(); - 
checkbox.isSelected(); - 
checkbox.isEnabled(); 
6.6、按钮(button)
- 
//找到按钮元素: - 
WebElement saveButton = driver.findElement(By.id(\"save\")); - 
//点击按钮: - 
saveButton.click(); - 
//判断按钮是否enable: - 
saveButton.isEnabled (); 
6.6、左右选择框
也就是左边是可供选择项,选择后移动到右边的框中,反之亦然。
例如:
- 
Select lang = new Select(driver.findElement(By.id(\"languages\"))); - 
lang.selectByVisibleText(“English”); - 
WebElement addLanguage =driver.findElement(By.id(\"addButton\")); - 
addLanguage.click(); 
6.7、弹出对话框(Popup dialogs)
- 
Alert alert = driver.switchTo().alert(); - 
alert.accept(); - 
alert.dismiss(); - 
alert.getText(); 
6.8、表单(Form)
Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交:
- 
WebElement approve = driver.findElement(By.id(\"approve\")); - 
approve.click(); - 
//或 - 
approve.submit();//只适合于表单的提交 
6.9、上传文件 (Upload File)
- 
//上传文件的元素操作: - 
WebElement adFileUpload = driver.findElement(By.id(\"WAP-upload\")); - 
String filePath = \"C:\\test\\\\uploadfile\\\\media_ads\\\\test.jpg\"; - 
adFileUpload.sendKeys(filePath); - 
//拖拉(Drag andDrop) - 
WebElement element =driver.findElement(By.name(\"source\")); - 
WebElement target = driver.findElement(By.name(\"target\")); - 
(new Actions(driver)).dragAndDrop(element, target).perform(); 
6.9鼠标悬停(Mouse MoveOn)
- 
Actions builder = new Actions(driver) - 
builder.moveToElement(driver.findElement(locator)).perform(); 
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取



