版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangshangchunjiezi/article/details/89676337
在WebDriver中,大多简单有效的页面交互的方法都是通过WebElement接口提供,最常用的操作页面元素方法有如下几个:
clear() --清除文本,如果是一个文本框
sendKeys(*value)--在元素上模拟键盘输入
click() -- 单击元素
System.setProperty("webdriver.firefox.bin", "D:/Program Files (x86)/Mozilla Firefox/firefox.exe");
System.setProperty("webdriver.gecko.driver", "E://selenium//geckodriver-v0.24.0-win64//geckodriver.exe");
WebDriver driver=new FirefoxDriver();
driver.get("http://www.baidu.com/");//向浏览器发送网址
WebElement txtbox=driver.findElement(By.id("kw")); //根据属性id找到百度输入框
CharSequence[] str={"selenium java"};
txtbox.sendKeys(str);//文本框输入内容
txtbox.clear();
CharSequence[] str1={"selenium python"};
txtbox.sendKeys(str1);
WebElement btn=driver.findElement(By.id("su")); //根据属性id=su找到百度一下搜索按钮
btn.click();//点击
二、常用方法
submit():用于提交表单,这里特别用于没有提交按钮的情况,例如搜索框输入关键字之后的“回车”操作,就可以通过submit()来提交搜索框的内容,与上面找到按钮进行对比
WebDriver driver=new FirefoxDriver();
driver.get("http://www.baidu.com/");//向浏览器发送网址
WebElement txtbox=driver.findElement(By.id("kw")); //根据属性id找到百度输入框
CharSequence[] str={"selenium java"};
txtbox.sendKeys(str);//文本框输入内容
txtbox.submit();
getSize() :返回元素的尺寸
getAttribute(name):获得属性值
isDisplayed():设置该元素是否用户可见
WebDriver driver=new FirefoxDriver();
driver.get("http://www.baidu.com/");//向浏览器发送网址
WebElement txtbox=driver.findElement(By.id("kw"));
System.out.println(txtbox.getAttribute("maxlength")); //获取元素的属性
System.out.println(txtbox.getSize()); //返回元素的尺寸
System.out.println(txtbox.isDisplayed());
三、鼠标操作
Actions类 右击、双击、悬停、指针拖动等操作
contextClick():右击
clickAndHold():鼠标悬停
move_to_element():鼠标悬停
doubleClick():双击
release():释放鼠标
perform():执行所有Actions中存储的行为
WebDriver driver=new FirefoxDriver();
driver.get("http://www.baidu.com/");
Actions action=new Actions(driver);
//hold鼠标
//clickAndHold:Clicks (without releasing) at the current mouse location.
action.clickAndHold(driver.findElement(By.name("tj_briicon"))).perform();
Thread.sleep(10000);
//释放鼠标
action.release(driver.findElement(By.name("tj_briicon"))).perform();
/*
WebDriver driver=new FirefoxDriver();
driver.get("http://www.baidu.com/");
Actions action=new Actions(driver);
//鼠标右键点击指定的元素
//perform:执行所有Actions中存储的行为,可以理解为对整个操作事件的提交操作
//action.contextClick(driver.findElement(By.id("su"))).perform();
//clickAndHold:Clicks (without releasing) at the current mouse location.
//action.clickAndHold(driver.findElement(By.name("tj_briicon"))).perform();
//鼠标移动 因为悬浮操作,和上面的效果一致
action.moveToElement(driver.findElement(By.name("tj_briicon"))).perform();