selenium学习3:元素定位方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.定位方式
Selenium的API提供了多个定位策略,如:ID、Name、CSS选择器、XPath等。
查看IDE查看“org.openqa.selenium.By”的方法:
红框标示的地方大概有8类的定位方式,另外还可以通过jQuery来定位元素(未加载jQuery库的页面可以通过注入jQuery库文件来定位元素)
1.1.定位方法(1):ID定位
Selenium所做事项:
1)打开/主页
2)通过ID定位到“好搜一下”搜索按钮
3)通过Webelemen对象获取按钮属性“class”及“value”值并在IDE控制台打印,验证ID定位
“好搜一下”按钮html编码:
Selenium 通过ID定位代码:
static void myLocatedById(){
WebDriver dr = new FirefoxDriver();
dr.get("");//打开好搜页面
WebElement webelement = dr.findElement(By.id("search-button"));
System.out.println(webelement.getAttribute("value"));//获取按钮value值并打印
System.out.println(webelement.getAttribute("class"));//获取按钮class值并打印
dr.quit();//关闭webdriver,释放资源
}
运行结果:
1.2.定位方法(2):classname定位
Selenium所做事项:
1)打开/主页
2)通过classname定位到“好搜一下”搜索按钮
3)通过Webelemen对象获取按钮属性“id”及“value”值并在IDE控制台打印,验证classname 定位。
“好搜一下”按钮html编码:
Selenium通过classname定位代码:
static void myLocatedByClassName(){
WebDriver dr = new FirefoxDriver();
dr.get("");//打开好搜页面
WebElement webelement = dr.findElement(By.className("skin-search-button")); System.out.println(webelement.getAttribute("id"));//获取按钮id值打印System.out.println(webelement.getAttribute("value"));//获取按钮value值打印//Assert.assertEquals(webelement.getAttribute("id"), "search-button");//判断定位所获得id值是否正确
//Assert.assertEquals(webelement.getAttribute("value"), "好搜一下");//判断定位所获得value值是否正确
dr.quit();//关闭webdriver,释放资源
}
运行结果:
1.3.定位方法(3):name定位
Selenium所做事项:
1)打开/主页
2)通过name定位到下图红色框表示搜索框
3)通过Webelemen对象获取搜索输入框属性“id”及“value”值并在IDE控制台打印,验证name定位。
“好搜一下”按钮html编码:
Selenium通过name定位代码:
static void myLocatedByName(){
WebDriver dr = new FirefoxDriver();
dr.get("");//打开好搜页面
WebElement webelement = dr.findElement(("q"));
System.out.println(webelement.getAttribute("id"));//获取搜索输入框id值打印
System.out.println(webelement.getAttribute("class"));//获取搜索输入框class值并打印
dr.quit();//关闭webdriver,释放资源
}
运行结果:
1.4.定位方法(4):linkText定位
Selenium所做事项:
1)打开/主页
2)通过linkText定位到下图红色框表示”音乐”链接
3)通过Webelemen对象获取链接属性“href”、“data-linkid”及“data-s”值并在IDE控制台打印,验证linkText定位。
“好搜一下”按钮html编码: data-s="/s?ie=utf-8&q=%q%&src=tab_web" data-linkid="music">音乐
Selenium通过linkText定位代码:
static void myLocatedByLinkText(){
WebDriver dr = new FirefoxDriver();
dr.get("");//打开好搜页面
WebElement webelement = dr.findElement(By.linkText("音乐"));
System.out.println(webelement.getAttribute("href"));//获取链接href值打印System.out.println(webelement.getAttribute("data-s"));//获取链接data-s值并打印
System.out.println(webelement.getAttribute("data-linkid"));//获取链接data-linkid值并打印
dr.quit();//关闭webdriver,释放资源
}