selenium元素的定位以及操做css
1. 元素的定位html
Seleniumapp
自动化,咱们须要作的最基本的事情就是在页面找到元素并经过脚本程异步
序去操做这个元素,实现模拟人工操做。咱们有多种定位元素的方式能够选择: post
经过元素的spa
ID定位元素:orm
findElement(By.id(element)); htm
经过元素的名称定位元素:blog
findElement(By.name(element)); ip
经过元素的html中的位置定位元素:
findElement(By.xpath(element));
经过元素的标签名称定位元素:
findElement(By.tagName(element));
经过元素的连接名称定位元素:
findElement(By.linkText(element));
经过元素的类名定位元素:
findElement(By.className(element));
经过元素的css定位元素:
findElement(By.cssSelector(element));
经过元素的部分连接名称定位元素:
findElement(By.partialLinkText(element));
2. 元素的操做
不一样的元素咱们进行不一样的操做,按钮的点击、输入框的字符输入、或者是元素的内
容获取,不一样的元素咱们操做的方式不一。
对ID为element的元素进行点击操做:
driver.findElement(By.id(element)).click();
对ID为element的元素进行发送字符操做:
这里只举用的最多且最简单的的两例元素的操做,
还有的是先获取元素后,再单独操做
WebElement text1 = driver.findElement(By.name("password"));
text1.sendKeys("123456");
3.页面操做
模拟鼠标点击:driver.click();
打开网页:driver.get("https://www.baidu.com");
关闭网页:driver.close();
在输入框中输入内容:text.sendKeys(“”);
清空输入框中的内容:text.clear();
获取输入框中的内容:text.getText();
选择下拉框中的元素:
Select select = new Select(wd.findElement(By.id("select")));
切换到某个frame:
driver.switchTo().frame("");
从一个frame切换到另外一个frame:
driver.switchTo().frame("");
切换到某个window:
driver.switchTo().window("windowName");
返回父iframe:(通常在跳转frame以前都写上这个语句)
driver.switchTo().defaultContent();
刷新页面:driver.navigate().refresh();
页面前进后退:
driver.navigate().forward();
driver.navigate().back();
悬停鼠标:
WebElement element = driver.findElement(By.id("passwd-id"));
Select select = new Select(driver.findElement(By.id("select")));
WebElement radio=driver.findElement(By.id("BookMode"));
WebElement checkbox = driver.findElement(By.id("myCheckbox."));
WebElement btn= driver.findElement(By.id("save"));
Alert alert = driver.switchTo().alert();
Form中的元素的操做和其它的元素操做同样,对元素操做完成后对表单的提交能够:
WebElement approve = driver.findElement(By.id("approve"));
approve.click();
或
approve.submit();//只适合于表单的提交
上传文件的元素操做:
WebElement adFileUpload =driver.findElement(By.id("WAP-upload"));
String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";
adFileUpload.sendKeys(filePath);
Web driver对Java Script的调用是经过JavascriptExecutor来实现的,例如:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("JS脚本");
WebDriver driver = new FirefoxDriver();