【自动化测试】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();
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

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



