使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素,其中By类的常用方式共八种:
<button type=”button”class="btn btn-warning pull-right" id="login" name="submit" style="border: 2px solid #ffb244;width: 133px">登录</button>
<button type=”submit” class="btn btn-info pull-right" id="login1" name="submit1" style="border: 2px solid #ffb244;width: 133px">提交</button>
<a href="http://www.baidu.com">百度网址</a>
1、通过id定位
Selenium实现点击button的代码:driver.findElement(By.id("login")).click();
2、通过name定位
通过tagName查找某个元素标签时,会查到很多元素,因此需要借助元素type属性进行判断
通过tagName获取所有button,然后type = button的元素
List<WebElement> allInputs = driver.findElements(By.tagName("button"));
for(WebElement e: element){
if (e.getAttribute(“type”).equals(“button”)){
System.out.println(e.getText().toString()); }
4、通过By.className定位
className属性是利用元素css样式表所引用的伪类名称来进行元素查找的方法
Selenium实现点击该button的代码:driver.findElement(By.className("btn-info")).click();
5、通过By.linkText定位
通过超文本链接上的文字信息来定位元素,连接文字需要和linkText中文字匹配,才会找到元素
代码:driver.findElement(By.linkText("百度网址")).click();
6、通过By.partiaLinkText定位
当不能准确知道叉子链接上的文本信息或者只想通过一些关键字进行匹配时,可以通过部分连接文字进行匹配
代码:driver.findElemnet(By.partiaLinkText("百度")) .click();
7、通过cssSelector定位
Selenium实现点击该button的代码:driver.findElement(By.cssSelector("button.btn.btn-info.pull-right")).click();
8,通过Xpatch定位
查找xpath可以选定某个元素后,鼠标右键选择“审查元素”,选定要选择元素后右键选择“copy”,选择“copy xpath”,然后将粘贴的内容放在下面的双引号中,即可通过xpath查找该元素。
driver.findElement(By.xpath(“”));
二、Selenium常用的操作
driver.findElement(By.id("fileInput")).sendKeys("此处填写要上传的内容路径");
driver.findElement(By.id("age")).sendKeys("此处填写要输入的内容");
driver.findElement(By.id("age")).getAttribute("value");//获取文本输入框中的内容
对下拉框的操作:
Select select = new Select(driver.findElement(By.id(“examType”)));
//传入需要选择的下拉值
selectByIndex(int index) 通过index
selectByValue(String value) 通过匹配到标签里的value
select.selectByVisibleText(text);通过可见值
//获取下拉框中的内容
List<WebElement>list = seclect.getOptions();
//获取下拉框中当前选中的值
String value = seclect.getFirstSelectedOption().getText().trim();
对弹出alert,prompt,confirm操作
Alert alert =driver.switchTo().alert();
① driver.switchTo().alert(); 获取alert
② alert.accept(); 点确定
③ alert.dismiss(); 点取消
④ alert.getText();获取alert的内容
<button type=”button”class="btn btn-warning pull-right" id="login" name="submit" style="border: 2px solid #ffb244;width: 133px">登录</button>
<button type=”submit” class="btn btn-info pull-right" id="login1" name="submit1" style="border: 2px solid #ffb244;width: 133px">提交</button>
<a href="http://www.baidu.com">百度网址</a>
1、通过id定位
Selenium实现点击button的代码:driver.findElement(By.id("login")).click();
2、通过name定位
Selenium实现点击该button的代码:driver.findElement(By.name("submit")).click();
3、通过tagName定位通过tagName查找某个元素标签时,会查到很多元素,因此需要借助元素type属性进行判断
通过tagName获取所有button,然后type = button的元素
List<WebElement> allInputs = driver.findElements(By.tagName("button"));
for(WebElement e: element){
if (e.getAttribute(“type”).equals(“button”)){
System.out.println(e.getText().toString()); }
4、通过By.className定位
className属性是利用元素css样式表所引用的伪类名称来进行元素查找的方法
Selenium实现点击该button的代码:driver.findElement(By.className("btn-info")).click();
5、通过By.linkText定位
通过超文本链接上的文字信息来定位元素,连接文字需要和linkText中文字匹配,才会找到元素
代码:driver.findElement(By.linkText("百度网址")).click();
6、通过By.partiaLinkText定位
当不能准确知道叉子链接上的文本信息或者只想通过一些关键字进行匹配时,可以通过部分连接文字进行匹配
代码:driver.findElemnet(By.partiaLinkText("百度")) .click();
7、通过cssSelector定位
Selenium实现点击该button的代码:driver.findElement(By.cssSelector("button.btn.btn-info.pull-right")).click();
8,通过Xpatch定位
查找xpath可以选定某个元素后,鼠标右键选择“审查元素”,选定要选择元素后右键选择“copy”,选择“copy xpath”,然后将粘贴的内容放在下面的双引号中,即可通过xpath查找该元素。
driver.findElement(By.xpath(“”));
二、Selenium常用的操作
driver.findElement(By.id("fileInput")).sendKeys("此处填写要上传的内容路径");
driver.findElement(By.id("age")).sendKeys("此处填写要输入的内容");
driver.findElement(By.id("age")).getAttribute("value");//获取文本输入框中的内容
对下拉框的操作:
Select select = new Select(driver.findElement(By.id(“examType”)));
//传入需要选择的下拉值
selectByIndex(int index) 通过index
selectByValue(String value) 通过匹配到标签里的value
select.selectByVisibleText(text);通过可见值
//获取下拉框中的内容
List<WebElement>list = seclect.getOptions();
//获取下拉框中当前选中的值
String value = seclect.getFirstSelectedOption().getText().trim();
对弹出alert,prompt,confirm操作
Alert alert =driver.switchTo().alert();
① driver.switchTo().alert(); 获取alert
② alert.accept(); 点确定
③ alert.dismiss(); 点取消
④ alert.getText();获取alert的内容