Webdriver_01

来源:互联网 发布:seo工程师 编辑:程序博客网 时间:2024/06/06 07:02

import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;public class Commend {    public static void main(String [] args){        //设置浏览器驱动        WebDriver driver=new ChromeDriver();        /**         * sendKeys——模拟输入操作         * clear——清除文本         * click——点击操作,可以点击任何可点击的元素,操作面比较广         * submit——表单提交操作,某种程度和click作用一样,但是操作范围较小         * getAttribute——获取元素属性值,如id,class,name         * isDisplayed——判断元素是否为用户可见 */        driver.get("https://www.baidu.com");        //清除操作+输入操作        driver.findElement(By.id("kw")).sendKeys("java");        driver.findElement(By.id("kw")).clear();        //点击操作        driver.findElement(By.id("kw")).sendKeys("java selenium");        driver.findElement(By.id("su")).click();        //提交操作:submit        driver.get("https://www.baidu.com");        driver.findElement(By.id("kw")).sendKeys("java");        driver.findElement(By.id("su")).submit();        System.out.println(driver.findElement(By.id("su")).getAttribute("value"));        //获取百度输入框的尺寸        driver.get("https://www.baidu.com");        driver.findElement(By.id("kw")).getSize();        System.out.println(driver.findElement(By.id("kw")).getSize());        //获取百度按钮中的文本        driver.get("https://www.baidu.com");        WebElement text=driver.findElement(By.id("cp"));        System.out.println(text.getText());       System.out.println(text.getAttribute("id"));       //设置元素是否为用户可见        driver.get("https://www.baidu.com");        WebElement sub=driver.findElement(By.id("su"));        System.out.println(sub.isDisplayed());        //关闭浏览器        driver.quit();    }}
1.控制浏览器

方法:

driver.manage().window().setSize(new Dimension(468,900));---设置窗口大小
driver.manage().window().maximize();----窗口最大化
driver.navigate().back();——后退
driver.navigate().forward();——前进
driver.navigate().refresh();——刷新当前页面
driver.getCurrentUrl()——获取当前页面的URL
2.简单元素操作
clear——清除文本
click——点击元素,可以点击任何可以点击的元素,操作面比较大
sendkeys——模拟元素输入
submit——表达提交操作,某种情况下可以等同click,但是操作面较小
getsize——获取尺寸
getText——获取文本,一般断言用的比较多
getAttribute("id")——id就是所要获取到的属性是id的值,也可以修改为value,class,name,等属性
isDisplayed——判断元素是否为用户可见

3.鼠标事件
鼠标事件存储在Actions包内,需要导入该包,且需要new Actinons(driver)将驱动传入;
contextClick ( )  右击
clickAndHold() 鼠标点击并控制
doubleClick()双击
dragAndDrop() 拖动
release()释放鼠标
perform()执行所有Actions中存储的行为
select下拉选择标签
selectByValue



警告框如何处理(警告框一般无法通过前端工具定位到),如下


警告框处理(就是使用前端无法定位的)
switchTo().alert()获取警告框
&accept()接受现有的警告框
&dismiss()解散现有的警告框
&getText()获取警告框的文本信息
&sendKeys(keysSend)发送文本至警告框
& keysSend将文本发送至警告框






Keys键盘操作BACK_SPACE——删除
SPACE——空格
CONTROL——ctral,后面可加a组合成ctrl+a,ctrl+v,ctrl+z等
ENTER——回车键

获取验证信息
getTitle() 获取页面title
getCurrentUrl)() 获取当前页面url
getText() 获取页面文本信息

设置等待时长
  • 有硬性等待 Thread.sleep(1000)——缺点浪费时间
  • 显示等待,等待某个元素,需要导入WebDriverWait包,并传入3个参数(driver,最大等待时长,每个多长时间检测一次
  • 隐式等待
  • 另外也可以自己定义一个等待时间