23天
1,元素的基本操作
输入框类型
//定位页面元素
WebElement text = driver.findElement(By.xpath("//input[@id='q']"));
//清空输入框
text.clear();
//往输入框中填值
text.sendKeys("手机");
//等待2秒
sleep(2);
点击类型
//定位页面元素
WebElement button = driver.findElement(By.xpath("//button[contains(text(),"搜索")]"));
//点击
button.click();
超链接
点击
//定位页面元素
WebElement link = driver.findElement(By.xpath("//li[@aria-label="查看更多"]/a[contains(text(),'女装')]"));
//点击
link.click();
ctrl + 点击
//定位页面元素
WebElement link = driver.findElement(By.xpath("//li[@aria-label="查看更多"]/a[contains(text(),'女装')]"));
//新建一个Actions类的实例
Actions actions = new Actions(driver);
//操作
actions.keyDown(Keys.CONTROL).click(link).keyUp(Keys.CONTROL).perform();
shift + 点击
//定位页面元素
WebElement link = driver.findElement(By.xpath("//li[@aria-label="查看更多"]/a[contains(text(),'女装')]"));
Actions actions = new Actions(driver);
actions.keyDown(Keys.SHIFT).click(link).keyUp(Keys.SHIFT).perform();
下拉框
按展现文本选择
//定位元素
WebElement select = driver.findElement(By.xpath("//select"));
Select selects = new Select(select);
selects.selectByVisibleText("香蕉");
按序号选择
//定位元素
WebElement select = driver.findElement(By.xpath("//select"));
Select selects = new Select(select);
selects.selectByIndex(0);
按value的值选择
//定位元素
WebElement select = driver.findElement(By.xpath("//select"));
Select selects = new Select(select);
selects.selectByValue("juzi");
日期控件
先在console中写js代码
//声明一个变量,并把xpath语句存放在变量中
var xpath="//input[@type='date']";
//使用xpath定位元素,并把定位结果取出来放到一个变量中
var element = document.evaluate(xpath,document,null,XPathResult.ANY_TYPE,null).iterateNext();
//修改value属性的值
element.value="2018-12-31";
如何操作value以外的属性
修改其他属性的值
//修改其他属性的值
element.setAttribute("type","text");删除其他属性
//删除时间控件的只读属性
element.removeAttribute("readonly");在java中执行js代码
//把javaScript代码存入一个变量中
String js = "var xpath = "//input[@type='date']";var element = document.evaluate(xpath,document,null,XPathResult.ANY_TYPE,null).iterateNext();element.removeAttribute("readonly");element.value='2018-08-09';";
//强制类型转换,把driver强制转换为可以执行js代码的driver
JavascriptExecutor jsDriver = (JavascriptExecutor)driver;
//使用executeScript()方法执行js代码
jsDriver.executeScript(js);
操作导航栏
后退
driver.navigate().back();
前进
driver.navigate().forward();
刷新
driver.navigate().refresh();
打开网址
driver.navigate().to("https://www.taobao.com/");