Selenium学习(二)----Selenium+Java定位方法总结

注:所有符号都是英文状态下

  • 元素定位
    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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值