Java selenium+webdriver 使用教程

java selenium+webdriver 使用教程

webdriver 驱动下载

Java selenium+webdriver 使用教程

Chrome:http://npm.taobao.org/mirrors/chromedriver/

https://chromedriver.storage.googleapis.com/index.html

Firefox:https://github.com/mozilla/geckodriver/releases

所需依赖

只需要 selenium-server 依赖即可

    <dependencies>
<!--        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
            <version>3.141.59</version>
        </dependency>-->
        <!-- 或者用注释的坐标亦可 -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-server</artifactId>
            <version>3.141.59</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.1</version>
        </dependency>
    </dependencies>

示例代码

以下是模拟打开本站登陆页面,各位可使用 Katalon Recorder 浏览器插件 自动生成代码,也可以参考下之前的 一个示例

    public static void main(String[] args) throws InterruptedException {System.setProperty("webdriver.chrome.driver", "C:\\Users\\Administrator\\Downloads\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.manage().window().maximize();
        driver.manage().deleteAllCookies();
        // 与浏览器同步非常重要,必须等待浏览器加载完毕
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.get("https://cway.top");
        Thread.sleep(2000);
        driver.findElement(By.linkText(" 登录后台 ")).click();
        Thread.sleep(2000);
        driver.close();
        driver.quit();}

其他操作

打开各种浏览器

//IE 浏览器
System.setProperty("webdriver.ie.driver", ".\\Tools\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();

//Chrome
System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
WebDriver driver = new ChromeDriver();

//FireFox(自定义安装)
System.setProperty("webdriver.firefox.bin", "D:\\ProgramFiles\\Mozilla Firefox\\firefox.exe");
//FireFox 版本大于 48, 默认安装
System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");
//FireFox 版本小于 48
System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();

亦可用 ChromeDriverService 类构建驱动

String webDriverPath = LagouSpider.class.getResource("chromedriver.exe").getPath();

        // 这里需要注意一定要和打开的 Chrome 版本匹配
        System.setProperty("webdriver.chrome.driver", webDriverPath);

        // 构建驱动
        ChromeDriverService service = new ChromeDriverService.Builder().
                usingDriverExecutable(new File(webDriverPath)).usingAnyFreePort().build();
        try {service.start();
        } catch (IOException e) {e.printStackTrace();
        }

        // 获取 Web 驱动
        WebDriver driver = new RemoteWebDriver(service.getUrl(), DesiredCapabilities.chrome());

只是最后要关闭 service

        // 退出驱动线程
        driver.quit();
        // 关闭 service 服务
        service.stop();

打开 URL

// 后退, 跳转到上一页
driver.navigate().back();
// 前进, 跳转到下一页
driver.navigate().forward ();
// 当前页刷新
driver.navigate().refresh();
// 浏览器窗口最大
driver.manage().window().maximize();
// 自定义设置浏览器尺寸
driver.manage().window().setSize(new Dimension(width, heigth));

关闭浏览器

// 关闭当前页面
driver.close(); 
// 关闭由 selenium 所启动的所有页面
driver.quit();

返回当前页标题与 URL

 // 返回当前页面的 Ttile 
 String title = driver.getTitle(); 
 // 返回当前页面的 url
 String currentUrl = driver.getCurrentUrl();

其它常见方法

// 返回当前的浏览器的窗口句柄
 String currentWindowHandle = driver.getWindowHandle()  
 // 返回当前的浏览器的所有窗口句柄 
 Set<String> allWindowHandles = driver.getWindowHandles();  
 // 返回当前页面的源码 
 String currentPageSource = getPageSource()
 // 通过 xpath 获取元素 使用 By 还可以通过其他条件获取
 WebElement titleElement = driver.findElement(By.xpath(titleExpression));
 // 获取文本
 String titleElementText = titleElement.getText();
 // 获取属性
 String titleElementHref = titleElement.getAttribute("href");

参考:https://www.cnblogs.com/andrew209/archive/2004/01/13/9011399.html

目录
  • webdriver 驱动下载
  • 所需依赖
  • 示例代码
  • 其他操作
    • 打开各种浏览器
    • 打开 URL
    • 关闭浏览器
    • 返回当前页标题与 URL
    • 其它常见方法
  • 目录
  • webdriver 驱动下载
  • 所需依赖
  • 示例代码
  • 其他操作
    • 打开各种浏览器
    • 打开 URL
    • 关闭浏览器
    • 返回当前页标题与 URL
    • 其它常见方法
  • 手机扫描二维码访问

    本文标题:《Java selenium+webdriver 使用教程》作者:极四维博客
    原文链接:https://cway.top/post/842.html
    特别注明外均为原创,转载请注明。

    分享到微信

    扫描二维码

    可在微信查看或分享至朋友圈。

    相关文章

    发表评论:

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    «    2024年10月    »
    123456
    78910111213
    14151617181920
    21222324252627
    28293031

    搜索

    控制面板

    您好,欢迎到访网站!
      查看权限

    最新留言

    文章归档

    • 订阅本站的 RSS 2.0 新闻聚合