selenium的使用的进一步实现(JAVA实现)

1、没看上一期的建议先去看上一期博客,这期也是对上一期的续写(如果我们的指令不管用记得一定眼看看有没有休眠等待浏览器渲染界面)

2、获取title

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.util.List;
import java.util.concurrent.TimeUnit;
import static java.lang.Thread.sleep;
import static java.util.concurrent.TimeUnit.SECONDS;

public class ceshi {

    public static void main(String[] args) throws InterruptedException {
       test();
    }
    private  static void  test() throws InterruptedException {
        //创建一个驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com");
        String title=webDriver.getTitle();
    }
}

3、获取url

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.util.List;
import java.util.concurrent.TimeUnit;
import static java.lang.Thread.sleep;
import static java.util.concurrent.TimeUnit.SECONDS;

public class ceshi {

    public static void main(String[] args) throws InterruptedException {
       test();
    }
    private  static void  test() throws InterruptedException {
        //创建一个驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com");
        String url=webDriver.getCurrentUrl();
    }
}

4、浏览器最大化

  //创建一个驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com");
        webDriver.manage().window().maximize();

5、设置打开浏览器的窗口大小

       //创建一个驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com");
        webDriver.manage().window().setSize(new Dimension(200,200));

6、前进页面(跳到下一个页面)

webDriver.navigate().forward();

7、后退页面(返回前一个页面)

webDriver.navigate().back();

8、下面的两个代码是等效的

webDriver.get("https://www.baidu.com");
        webDriver.navigate().to("https://www.baidu.com");

9、将我们的浏览器滚动条滑到最下面

((JavascriptExecutor)webDriver).executeScript("document.documentElement.scrollTop=10000");

10、将我们的浏览器滚动条滑到最上面

 ((JavascriptExecutor)webDriver).executeScript("document.documentElement.scrollTop=0");

11、这个浏览器滚动条滑到哪里看我们后面的取值,取值越大滚动条越靠下

12、控制键盘按键

举例一个:在百度搜索框点击enter回车

webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.ENTER);

13、点击键盘复合按键(crtl+X)全选

webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL,"X");

14、鼠标点击事件

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.util.List;
import java.util.concurrent.TimeUnit;
import static java.lang.Thread.sleep;
import static java.util.concurrent.TimeUnit.SECONDS;

public class ceshi {
    

    public static void main(String[] args) throws InterruptedException {
       test();
    }
    private  static void  test() throws InterruptedException {
        //创建一个驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com");
        webDriver.navigate().to("https://www.baidu.com");
        webDriver.findElement(By.cssSelector("#kw")).sendKeys("张三");
        webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.ENTER);
        Actions actions=new Actions(webDriver);
        sleep(1500);
        WebElement target=webDriver.findElement(By.cssSelector("#s_tab > div > a.s-tab-item.s-tab-item_1CwH-.s-tab-pic_p4Uej.s-tab-pic"));
        actions.moveToElement(target).contextClick(target).perform();
    }
}

15、获取标签页资源(目前两个标签页)切换窗口


(1)获取百度一下这第一个句柄

String handle=webDriver.getWindowHandle();

(2)跳转到第二个句柄(百度新闻)for循环步骤有多种实现方法

Set<String> handles=webDriver.getWindowHandles();
        String target="";
        for (String temp:handles){
            target=temp;
        }
        //target现在存的是我们最后一个窗口句柄
        //将我们的窗口句柄切换大最后一个窗口句柄
        webDriver.switchTo().window(target);

16、截图操作

首先引入maven依赖(可以去maven中央仓库去找)以文件方式截图

<dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.15.1</version>
        </dependency>
File file= ((TakesScreenshot)webDriver).getScreenshotAs(OutputType.FILE);
        FileUtils.copyFile(file,new File("D://截图.png"));

第一个OutputType.FILE是以文件方式这里可以切换,第二行是指截屏放在哪里

  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值