概述
1.selenium定位方法
Selenium提供了8种定位方式:
id
name
class name
tag name
link text
partial link text
xpath
css selector
这8种定位方式在Java selenium中所对应的方法为:
findElement(By.id())
findElement(By.name())
findElement(By.className())
findElement(By.tagName())
findElement(By.linkText())
findElement(By.partialLinkText())
findElement(By.xpath())
findElement(By.cssSelector())
2.xpath定位的常用写
xpath定位有N种写法,这里列几个常用写法:
driver.findElement(By.xpath("//*[@id='kw']"))
driver.findElement(By.xpath("//*[@name='wd']"))
driver.findElement(By.xpath("//input[@class='s_ipt']"))
driver.findElement(By.xpath("/html/body/form/span/input"))
driver.findElement(By.xpath("//span[@class='soutu-btn']/input"))
driver.findElement(By.xpath("//form[@id='form']/span/input"))
driver.findElement(By.xpath("//input[@id='kw' and @name='wd']"))
3.实战中可以将WebDriver初始化、登录功能、页面功能定义成不同的class类,将代码进行解耦
package it.itms;
import org.openqa.selenium.By;
public class Login {
public void firstLogin() throws Exception {
try {
Init.driver.get(Init.url);
Thread.sleep(3000);
Init.driver.findElement(By.id("acc_yhm")).sendKeys(Init.loginname);
Init.driver.findElement(By.name("acc_mm")).sendKeys(Init.passwd);
// 获取验证码信息,先获取验证码的标签,再获取标签的文本
String code = Init.driver.findElement(By.id("code")).getText();
Thread.sleep(3000);
Init.driver.findElement(By.name("checkCode")).sendKeys(code);
Init.driver.findElement(By.id("Submit")).click();
// Thread.sleep(6000);
String title = Init.driver.getTitle();
System.out.println(title);
if (!title.equals("当前页面的title")) {
System.out.println("未进入登录界面");
}
} catch (Exception e) {
System.out.println("页面无法打开");
Init.driver.quit();
}
}
}
最后
以上就是喜悦未来为你收集整理的Java-002 selenium元素定位的全部内容,希望文章能够帮你解决Java-002 selenium元素定位所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复