注:所有符号都是英文状态下
-
元素定位
driver.findElement(By.id(“xxxx”)); //根据id定位
driver.findElement(By.xpath(“xxxx”)); //根据xpath定位
driver.findElement(By.cssSelector(“xxxx”)); //根据css定位
driver.findElement(By.linkText(“xxxx”)); //根据链接文本定位
driver.findElement(By.className(“xxxx”)); //根据classname定位
driver.findElement(By.partialLinkText(“xxxx”)); //根据链接文本定位(比如整个文本内容是“早间新闻”,用此方法可以定位“新闻”,这个链接文本只要包含在整个文本中即可)
driver.findElement(By.tagName(“xxxx”));//根据tagname标签定位 -
获取路径
driver.get(“http://127.0.0.1/xxxx”); -
切出iframe
driver.switchTo().defaultContent(); -
切进iframe四种方法
driver.switchTo().frame(“frame1”);//用id来定位
driver.switchTo().frame(“myframe”);//用name来定位
driver.switchTo().frame(0);//用index来定位
driver.switchTo().frame(driver.findElement(By.tagName(“iframe”)));//用WebElement对象来定位
通常采用id和name就能够解决绝大多数问题。但有时候frame并无这两项属性,则可以用index和WebElement来定位:
index从0开始,传入整型参数即判定为用index定位,传入str参数则判定为用id/name定位;
WebElement对象,即用find_element系列方法所取得的对象,我们可以用tag_name、xpath等来定位frame对象。 -
输入内容
driver.findElement(By.xpath("//*[@id=‘kw’]")).sendKeys(“xxx”); -
模拟键盘删除一个数据
driver.findElement(By.xpath("//*[@id=‘kw’]")).sendKeys(Keys.BACK_SPACE); -
浏览器刷新
driver.navigate().refresh(); -
浏览器前进
driver.navigate().forward(); -
浏览器后退
driver.navigate().back(); -
鼠标悬停
Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.xpath(“x”))).perform(); -
设置浏览器大小
Dimension arg0 = new Dimension(800, 480); (宽,高)
driver.manage().window().setSize(arg0); -
浏览器最大化
driver.manage().window().maximize(); -
嵌套iframe
driver.switchTo().frame(“frame1”);//切进1
driver.switchTo().frame(“frame2”);//切进2
driver.switchTo().parentFrame();//从2再切回到1 -
单击操作
Actions action = new Actions(driver);
WebElement el = driver.findElement(By.xpath(“XXX”));
action.click(el).perform(); -
鼠标右击
WebElement inputBox = driver.findElement(By.id(“XXX”));
Actions action = new Actions(driver);
action.contextClick(inputBox).build().perform(); -
双击操作
以上单击和右击操作都为复杂写法,也更容易让初学者理解。下面这种是简单写法:
new Actions(driver).doubleClick(driver.findElement(By.xpath(“XX”))).perform(); -
关闭网页
driver.close();//退出当前页面
driver.quit();//退出所有页面 -
获取输入框中的内容
driver.findElement(By.xpath("//*[@id=‘kw’]")).getText(); -
清空输入框内容
driver.findElement(By.xpath("//*[@id=‘kw’]")).clear(); -
单选框
WebElement radio=driver.findElement(By.id(“BookMode”));
radio.click(); //选择某个单选项
radio.clear(); //清空某个单选项
radio.isSelected(); //判断某个单选项是否已经被选择 -
多选框
WebElement checkbox = driver.findElement(By.id(“myCheckbox.”));
checkbox.click();//选中复选框
checkbox.clear();
checkbox.isSelected();//判断是否可选
checkbox.isEnabled(); -
输出内容
driver.findElement(By.xpath(“xxx”)).getText();//获取内容是“该输入项为必输项”
System.out.printf(driver.findElement(By.xpath(“xxx”)).getText());//输出内容为“该输入项为必输项” -
模拟键盘全选复制粘贴
driver.findElement(By.xpath(“xx”)).sendKeys(“1111”);
driver.findElement(By.xpath(“xxx”)).sendKeys(Keys.CONTROL,“a”);
driver.findElement(By.xpath(“xxx”)).sendKeys(Keys.CONTROL,“c”);
driver.findElement(By.xpath(“xxx”)).sendKeys(Keys.CONTROL,“v”);
参考资料:https://www.cnblogs.com/moonpool/p/5662058.html