selenium常用方法(二)

 public static void webDriver1(WebDriver driver) {
        WebElement search_text = driver.findElement(By.name("skip_id"));
        System.out.println(search_text.getSize());//返回尺寸
        System.out.println(search_text.getAttribute("skip_id"));//返回属性值
        System.out.println(search_text.isDisplayed());//该元素是否对用户可见
        WebElement search_button = driver.findElement(By.xpath("//div[2]//input[@type='submit']"));
        search_text.sendKeys("001");//输入框输入
        System.out.println("text:" + search_text.getText());
        search_text.clear();//输入框清除
        search_text.sendKeys("00200");
        search_button.click();//点击按钮(.submit()也可实现,但是不及click广泛)
    }

    public static void webDriver2(WebDriver driver) throws InterruptedException {
//        WebDriver driver = new FirefoxDriver();
//        driver.get("https://www.baidu.com");
//        WebElement search_setting = driver.findElement(By.linkText("设置"));
        Actions action = new Actions(driver);
//        action.clickAndHold(search_setting).perform();//鼠标模拟悬停
        driver.findElement(By.name("skip_id")).sendKeys("1243");
        Thread.sleep(3000);
//        action.contextClick(driver.findElement(By.name("skip_id"))).perform();//右击指定元素
//
//        action.doubleClick(driver.findElement(By.name("skip_id"))).perform();

        //鼠标拖拽信息
        WebElement source = driver.findElement(By.name("skip_id"));
        Thread.sleep(3000);
        WebElement target = driver.findElement(By.xpath("//div[3]//input[@name='_id']"));
//        target.sendKeys("hhhh");
        action.dragAndDrop(source, target).perform();
//        Thread.sleep(10000);
        action.release().perform();//释放鼠标
        System.out.println("内容:" + target.getText());
//
//        Thread.sleep(1000);
//        driver.findElement(By.xpath("//div[3]//input[@type='submit']")).click();


    }

    public static void webDriver3() throws InterruptedException {
//        System.setProperty("webdriver.ie.driver","E:\\workspace\\seleniumTest\\IEDriverServer_x64_3.14.0\\IEDriverServer.exe");
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        //页面加载超时时间设置为5s
        driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
        driver.get("https://www.baidu.com");

        //定位对象时给10s的时间,如果10s内还定位不到则抛出异常
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.findElement(By.id("kw")).sendKeys("selenium");

        //异步脚本的超时时间设置成3s
        driver.manage().timeouts().setScriptTimeout(3, TimeUnit.SECONDS);

        driver.quit();
//        WebDriverWait wait = new WebDriverWait(driver,10,1);
//        wait.until(new ExpectedCondition<WebElement>() {
//            @Override
//            public WebElement apply(WebDriver text){
//                return text.findElement(By.id("kw"));//输入框输入
//            }
//        }).sendKeys("selenium");
//
//        driver.findElement(By.id("su")).click();//搜索按钮
//        Thread.sleep(2000);

    }

    public static void webDriver4() throws InterruptedException {
        System.setProperty("webdriver.ie.driver", "E:\\workspace\\seleniumTest\\IEDriverServer_x64_3.14.0\\IEDriverServer.exe");
        WebDriver driver = new InternetExplorerDriver();
        driver.get("https://www.baidu.com/");

        WebElement search_test = driver.findElement(By.id("kw"));
        search_test.sendKeys("selenium");
        search_test.submit();

        Thread.sleep(2000);

        List<WebElement> search_result = driver.findElements(By.xpath("//dic/div//h3"));
        System.out.println(search_result.size());

        for (WebElement result : search_result) {
            System.out.println(result.getText());
        }
        System.out.println("-------------分割线-------------");
        WebElement element = search_result.get(search_result.size() - 10);
        System.out.println(element.getText());
//        //用户名输入
//        WebElement search_test = driver.findElement(By.xpath("//input[@type='text']"));
//        search_test.sendKeys("admin");
//        Thread.sleep(2000);
//        //密码输入
//        WebElement search_test2 = driver.findElement(By.xpath("//input[@type='password']"));
//        search_test2.sendKeys("admin");
//
//        //登陆
//        WebElement submit = driver.findElement(By.xpath("//input[@type='button']"));
//        submit.click();
    }

    //内嵌页面切换
    public static void webDriver5() {
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.126.com/");
        driver.findElement(By.id("switchAccountLogin")).click();
        WebElement xf = driver.findElement(By.xpath("//*[@id='loginDiv']/iframe"));
        driver.switchTo().frame(xf);//切换到内嵌表单页面中
//        driver.findElement(By.name("email")).clear();
        driver.findElement(By.name("email")).sendKeys("zhuxiao");
//        driver.findElement(By.name("password")).clear();
        driver.findElement(By.name("password")).sendKeys("123");
        driver.findElement(By.xpath("//input[@type='checkbox']")).click();

        driver.findElement(By.id("dologin")).click();

        driver.switchTo().defaultContent();//跳出表单页面


    }

    //多窗口页面切换
    public static void webDriver6() throws InterruptedException {
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.baidu.com/");
        String searche_handle = driver.getWindowHandle();//获得当前页面1的句柄(类似该页面的唯一id)
        //打开百度注册窗口
        driver.findElement(By.linkText("登录")).click();
        Thread.sleep(3000);
        driver.findElement(By.linkText("立即注册")).click();

        Set<String> handles = driver.getWindowHandles();//获得所有窗口的句柄
        for (String handle : handles) {
            if (handle.equals(searche_handle) == false) {//如果某句柄不等于页面1的句柄,说明是页面2的句柄即注册窗口页面
                //切换到注册页面
                driver.switchTo().window(handle);
                System.out.println("now register window!");
                Thread.sleep(2000);
                driver.findElement(By.name("userName")).clear();
                driver.findElement(By.name("userName")).sendKeys("user name");
                driver.findElement(By.name("phone")).clear();
                driver.findElement(By.name("phone")).sendKeys("phone number");
                Thread.sleep(3000);
            }
        }

    }
  //下拉条
    public static void webDriver8() throws InterruptedException {
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("http://www.baidu.com/");
//        driver.findElement(By.linkText("设置")).click();
//        Thread.sleep(5000);

        driver.findElement(By.linkText("新闻")).click();
//        Thread.sleep(5000);
//        driver.navigate().refresh();
        System.out.println(driver.getCurrentUrl());

//        WebElement element = driver.findElement(By.xpath("//select"));
//        Select select = new Select(element);
//        select.selectByValue("20");
//        Thread.sleep(3000);
    }
     //上传
    public static void webDriver10() throws InterruptedException {
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        File file = new File("./test/upfile.html");
        String filepath = file.getAbsolutePath();
        driver.get(filepath);
        driver.findElement(By.name("file")).sendKeys("E:\\workspace\\seleniumTest\\test\\upload_file.txt");

        Thread.sleep(5000);
    }

    public static void webDriver11() {
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        ChromeOptions chromeOptions = new ChromeOptions();
//        FirefoxProfile firefoxProfile = new FirefoxProfile();
        chromeOptions.addArguments("profile.default_content_settings.popups=0",
                "download.default_directory=E:\\workspace\\seleniumTest\\test");
        WebDriver driver = new ChromeDriver(chromeOptions);
        driver.get("https://pypi.org/project/selenium/#files");
        driver.findElement(By.partialLinkText("selenium-3.141.0.tar.gz")).click();
    }

    //cookie
    public static void webDriver12() throws InterruptedException {
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.baidu.com");
        Cookie c1 = new Cookie("name", "key-1111");
        Cookie c2 = new Cookie("value", "value-1111");
        driver.manage().addCookie(c1);
        driver.manage().addCookie(c2);
        Set<Cookie> coo = driver.manage().getCookies();
        System.out.println(coo);
        Thread.sleep(10000);

//        driver.manage().deleteAllCookies();
    }

    //滚动条
    public static void webDriver13() throws InterruptedException {
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.manage().window().setSize(new Dimension(700, 600));
        driver.get("https://www.baidu.com");

        driver.findElement(By.id("kw")).sendKeys("webdriver api");
        driver.findElement(By.id("su")).click();
        Thread.sleep(3000);
        //将页面滚动条拖到固定位置
        ((JavascriptExecutor) driver).executeScript("window.scrollTo(400,650);");
        Thread.sleep(3000);
        System.out.println("end");
    }

    //文本框输入
    public static void webDriver14() {
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://translate.google.cn/");
        driver.findElement(By.xpath("//*[@id=\"source\"]")).sendKeys("selenium");
//       方法二:
//        String text = "selenium";
//        String js = "var sum=document.getElementById('source'); sum.value='" + text + "';";
//        ((JavascriptExecutor)driver).executeScript(js);
    }

    //显示隐藏
    public static void webDriver15() {
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://translate.google.cn/");
        driver.findElement(By.xpath("//*[@id=\"history-input\"]"));
        String js = "document.querySelectorAll('div').style.display='block'";
        ((JavascriptExecutor) driver).executeScript(js);
    }

    //播放html video
    public static void webDriver16() throws InterruptedException {
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("file:///E:/workspace/seleniumTest/test/video.html");
//        WebElement video = driver.findElement(By.xpath("/html/body/video"));
//        JavascriptExecutor jse = (JavascriptExecutor) driver;
        jse.executeScript("arguments[0].currentSrc;",video);
        jse.executeScript("arguments[0].play()",video);
        Thread.sleep(12000);
        jse.executeScript("arguments[0].pause()",video);
        WebElement element_video = driver.findElement(By.tagName("video"));
        //对video这个元素执行播放操作
        JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
        javascriptExecutor.executeScript("arguments[0].play()", element_video);
        Thread.sleep(70000);
        //对video这个元素执行暂停操作
        javascriptExecutor.executeScript("arguments[0].pause()", element_video);
        Thread.sleep(1000);
        //对video这个元素执行重新加载视频的操作
        javascriptExecutor.executeScript("arguments[0].load()", element_video);
        Thread.sleep(3000);
        driver.quit();
    }

    //截图
    public static void webDriver17() {
        System.setProperty("webdriver.chrome.driver", "E:\\workspace\\seleniumTest\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.baidu.com");
        File srcfile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
//        System.out.println(srcfile.getAbsolutePath());
        try {
            FileUtils.copyFile(srcfile, new File("E:\\workspace\\seleniumTest\\test\\screenpot.png"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        driver.close();
    }

    //设置万能验证码
    public static void webDriver18() {
        int min = 1000;
        int max = 9999;

        Random random = new Random();
        int s = random.nextInt(max) % (max - min + 1) + min;
        String ss = String.valueOf(s);
        System.out.println(ss);

        Scanner sc = new Scanner(System.in);

        System.out.println("请输入验证码:");
        String str = sc.nextLine();

        if (str.equals(ss)) {
            System.out.println("输入正确");
        } else if (str.equals("Admin")) {
            System.out.println("输入正确");
        } else {
            System.out.println("输入错误");
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值