我是靠谱客的博主 喜悦未来,最近开发中收集的这篇文章主要介绍Java-002 selenium元素定位,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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元素定位所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部