java使用Selenium操作谷歌浏览器学习笔记(二)

使用WebDriver操作浏览器之前必须设置对应的driver

 System.setProperty("webdriver.chrome.driver", "D:\\New folder\\chromedriver_win32/chromedriver.exe"); 

使用WebDriver访问网页并获取网页源代码

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class Test {

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "D:\\New folder\\chromedriver_win32/chromedriver.exe");
        WebDriver webDriver = new ChromeDriver();
        try {


            String url = "https://www.baidu.com";

            webDriver.get(url);
String page
= webDriver.getPageSource(); System.out.println(page); }finally { // webDriver.close(); } } }

运行代码后,会自动打开一个浏览器并根据url跳转,然后在控制台打印出网页的以源代码(可能杂乱不堪)

获取网页元素

       //在全局中查找元素
            List<WebElement> inputList = webDriver.findElements(By.tagName("input"));
            List<WebElement> buttonList = webDriver.findElements(By.tagName("button"));

            WebElement element = webDriver.findElement(By.id("element"));

            //在某个元素中查找子元素
            WebElement bb = element.findElement(By.id("element1"));

            List<WebElement> element2 = element.findElements(By.id("element2"));

对元素进行操作

//            输入账号和密码登录
            String zhanghao = "zhanghao";
            String mima = "mima";

            WebElement account = inputList.get(0);//获取账号输入框
            WebElement password = inputList.get(1);//获取密码输入框
//
            account.sendKeys(zhanghao);//表示在框中输入该内容
            password.sendKeys(mima);
//
            WebElement submit = buttonList.get(0);

            submit.click();//点击登录按钮

清除网页cookie

有时候可能需要用多个账号登录同一个网站,但是谷歌浏览器默认会保存cookie,可能下次登录不会出现登录页面,而是直接以上个账号登上系统

这时候就需要清除cookie。当然也可以直接设置谷歌浏览器不报存cookie

  private static void getCookie(String url){

            WebDriver webDriver = new ChromeDriver();

            webDriver.get(url);

            Set<Cookie> cookieSet =  webDriver.manage().getCookies();
       
            for (Cookie cooke :   cookieSet) {
               
            }
            System.out.println("获取cookie成功");

            webDriver.manage().deleteAllCookies();

            webDriver.close();

    }

 

posted @ 2021-08-03 16:37  划水的鱼dm  阅读(613)  评论(0)    收藏  举报