• selenium的常见方法及使用


    selenium的常用方法

    ChromeDriver driver = new ChromeDriver();

    1,获取当前页面的路径

    String url1 = driver.getCurrentUrl();

    2,获取当前页面的标题

    String title1 = driver.getTitle();

    3,跳转到最新的页面

    1. //每个页面都自己的唯一句柄,所以可以通过页面的句柄,跳转到指定页面
    2. String window = driver.getWindowHandle();//获取当前页面的句柄
    3. Set windowHandles = driver.getWindowHandles();//获取访问过页面的所有句柄
    4. for (String handle : windowHandles) {
    5. if (!window.equals(handle)){
    6. System.out.println("跳转到最新打开的页面中");
    7. driver.switchTo().window(handle);//跳转到新的页面
    8. System.out.println("页面的句柄:" + handle);
    9. }
    10. }

    4,窗口大小

    1. driver.manage().window().maximize();//窗口最大化
    2. driver.manage().window().minimize();//窗口最小化
    3. driver.manage().window().setSize(new Dimension(800,600));//设置指定尺寸

    5,selenium执行脚本

    1. driver.executeScript("window.scroll(0,document.body.scrollTop)");
    2. driver.executeScript("window.scroll(0,document.body.scrollHeight)");

    6,导航(nacigate接口)

    1),前进:driver.navigate().forword()

    2),后退driver.navigate().forword()

    1. driver.get("https://tool.lu/");
    2. Thread.sleep(2000);
    3. driver.findElement(By.cssSelector("#nav > div > div > ul > li:nth-child(1) > a")).click();
    4. Thread.sleep(2000);
    5. driver.navigate().back();//后退
    6. Thread.sleep(2000);
    7. driver.navigate().forward();//前进

    7,弹窗(Alert接口)

    1),普通弹窗的操作思路:

    1. driver.get("网页的url");//绑定网页
    2. WebElement element = driver.findElement(By.cssSelector("弹出弹窗的按钮的class"));
    3. element.click();//点击按钮
    4. WebElement element1 = driver.findElement(By.cssSelector("找到关闭弹窗的属性"));
    5. element.click();//点击关闭弹窗

    2),警告弹窗处理思路:

    1. driver.get("网页的url");
    2. driver.findElement(By.xpath("点击会出现警告弹窗的链接的xpath")).click();
    3. Alert alert = driver.switchTo().alert();//获取弹窗事件
    4. //警告弹窗的class和id无法被全段代码定位,所以点击不需要通过找到属性的xpath或这css样式
    5. //直接接收
    6. alert.accept();//点击确认按钮
    7. alert.dismiss();//点击取消

    3),输入弹窗处理思路:

    1. driver.get("网页的url");
    2. driver.findElement(By.xpath("点击会出现警告弹窗的链接的xpath")).click();
    3. Alert alert = driver.switchTo().alert();//获取弹窗事件
    4. //警告弹窗的class和id无法被全段代码定位,所以点击不需要通过找到属性的xpath或这css样式
    5. //直接接收
    6. alert.sendKeys("要输入的文本信息");//
    7. alert.accept();//点击确认按钮
    8. alert.dismiss();//点击取消

     8,鼠标键盘操作(Actions接口)

    selenuim提供actions来模仿鼠标和键盘的操作

    1. driver.get("要测试的网页");
    2. WebElement element = driver.findElement(By.cssSelector("想要操作的元素"));
    3. Actions actions = new Actions(driver);//常见模拟鼠标键盘操作
    4. actions.clickAndHold(element).perform();//将鼠标移动到需要操作的位置并保持,演示
    5. actions.click(element).perform();//演示点击效果
    6. actions.sendKeys("键盘的操作").perform();//从模拟键盘输入

    9,模拟复选框(Select接口)

    1. driver.get("要测试的网页");
    2. WebElement element = driver.findElement(By.cssSelector("复选框classID"));
    3. Select select = new Select(element);
    4. select.selectByIndex(1);//通过索引选择列表项,索引从0开始
    5. select.selectByValue("name");//通过value值来选择列表项
    6. select.selectByVisibleText("列表项的文本内容");//通过可见文本来选择

    10,文件的上传

    selenium不能狗拉起系统的其他程序的窗口,因此可以使用sendKeys(“文件路径”)上传文件

    1. driver.get("要测试的网页");
    2. WebElement element = driver.findElement(By.cssSelector("上传文件的classID"));
    3. element.sendKeys("文件路径");//selenium无法拉取系统的其他程序,采用输入文件路径的方式,上传文件

    11,页面刷新

    1. driver.get("要测试的网页");
    2. driver.navigate().refresh();//刷新页面

    12,屏幕截图

    1. driver.get("http://www.baidu.com");
    2. driver.findElement(By.cssSelector("#kw")).sendKeys("selenium");
    3. driver.findElement(By.cssSelector("#su")).click();
    4. //屏幕截图
    5. File file = new File("./src/test/screenShut/my.png");
    6. File screenshot = driver.getScreenshotAs(OutputType.FILE);
    7. try {
    8. FileUtils.copyFile(screenshot,file);
    9. } catch (IOException e) {
    10. e.printStackTrace();
    11. }
    12. driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));
    13. driver.findElement(By.cssSelector("#\\31 > div > div > h3 > a"));

     

  • 相关阅读:
    知识问答之初步入门-2
    java-net-php-python-jspm家教信息管理系统(2)计算机毕业设计程序
    vue draggable怎么用?怎么写一个拖拽的看板?
    LoadRunner VUG 脚本
    【网络安全】网络安全的最后一道防线——“密码”
    互联网的起源与发展历程:从ARPANET到现代网络社会
    【深度学习】Pytorch面试题:什么是 PyTorch?PyTorch 的基本要素是什么?Conv1d、Conv2d 和 Conv3d 有什么区别?
    在 Python 中使用 Selenium 按文本查找元素
    ELK-日志服务【es-安装使用】
    ubuntu 小技巧
  • 原文地址:https://blog.csdn.net/qq_52655865/article/details/126075023