前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【Java爬虫】009-Selenium学习笔记

【Java爬虫】009-Selenium学习笔记

作者头像
訾博ZiBo
发布2025-01-06 15:14:09
发布2025-01-06 15:14:09
7000
代码可运行
举报
运行总次数:0
代码可运行

一、概述

1、简介

Selenium是一个用于Web应用程序测试的工具; Selenium测试直接运行在浏览器中,就像真正的用户在操作一样;

2、主要功能

测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上; 测试系统功能——创建回归测试检验软件功能和用户需求; 支持自动录制动作自动生成.Net、Java、Perl等不同语言的测试脚本

3、Maven坐标

代码语言:javascript
代码运行次数:0
复制
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
</dependency>

4、谷歌浏览器驱动下载地址(国内)

https://npm.taobao.org/mirrors/chromedriver

二、入门程序

第一步:导入Maven坐标
第二步:下载自己的谷歌浏览器对应版本的驱动win32是windows通用;
第三步:写代码
代码语言:javascript
代码运行次数:0
复制
package com.zb.book.selenium;

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

public class Main {
    public static void main(String[] args) {
        //设置驱动位置
        System.setProperty("webdriver.chrome.driver", "D:\\MySoft\\ChromeDriver\\chromedriver.exe");
        //创建一个谷歌浏览器对象
        WebDriver driver = new ChromeDriver();    //Chrome浏览器
        //访问百度首页
        driver.get("http://www.baidu.com/");
        //获取标题,并打印
        System.out.println(driver.getTitle());
        //关闭浏览器
        driver.close();
    }
}
运行结果:

系统自动启动了谷歌浏览器,并访问了百度首页,获取标题之后,关闭了浏览器;

三、增强入门程序

1、需求

实现使用自动搜索关键词“猫”;

2、代码演示

代码语言:javascript
代码运行次数:0
复制
package com.zb.book.selenium;

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

public class Main {
    public static void main(String[] args) {
        //设置驱动位置
        System.setProperty("webdriver.chrome.driver", "D:\\MySoft\\ChromeDriver\\chromedriver.exe");
        //创建一个谷歌浏览器对象
        WebDriver driver = new ChromeDriver();    //Chrome浏览器
        //访问百度首页
        driver.get("http://www.baidu.com/");
        //获取标题,并打印
        System.out.println(driver.getTitle());
        //定位元素,并设置内容
        driver.findElement(By.cssSelector("#kw")).sendKeys("猫");
        //定位元素,并点击
        driver.findElement(By.cssSelector("#su")).click();
        //关闭浏览器
        //driver.close();
    }
}

3、运行结果

四、关于元素定位的说明

元素定位的方法有很多,使用也很简单,比如通过id、标签名、css选择器、Xpath等等,如下图:

五、下拉滚动条

1、代码演示

代码语言:javascript
代码运行次数:0
复制
package com.zb.book.selenium;

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

public class Main {
    public static void main(String[] args) throws InterruptedException {
        //设置驱动位置
        System.setProperty("webdriver.chrome.driver", "D:\\MySoft\\ChromeDriver\\chromedriver.exe");
        //创建一个谷歌浏览器对象
        WebDriver driver = new ChromeDriver();    //Chrome浏览器
        //访问百度首页
        driver.get("https://www.youku.com/category/show/c_96_s_1.html?spm=a2hcb.12701310.app.5~5!2~5!2~5~5~DL!7~DD~A");
        //获取标题,并打印
        System.out.println(driver.getTitle());
        //睡眠5秒,下拉
        Thread.sleep(5000);
        JavascriptExecutor js = (JavascriptExecutor)driver;
        js.executeScript("scrollTo(0,5000)");
        System.out.println(1);
        Thread.sleep(5000);
        js.executeScript("scrollTo(5000,10000)");
        System.out.println(2);
        Thread.sleep(5000);
        js.executeScript("scrollTo(10000,30000)");
        System.out.println(3);
        String html = driver.getPageSource();
        System.out.println(html);
        //关闭浏览器
        driver.close();
    }
}

2、运行结果

六、其它

其它有隐藏浏览器、截取验证码等功能,用时再细细研究。

其它功能可参考:https://blog.csdn.net/qq_22003641/article/details/79137327

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概述
    • 1、简介
    • 2、主要功能
    • 3、Maven坐标
    • 4、谷歌浏览器驱动下载地址(国内)
  • 二、入门程序
    • 第一步:导入Maven坐标
    • 第二步:下载自己的谷歌浏览器对应版本的驱动win32是windows通用;
    • 第三步:写代码
    • 运行结果:
  • 三、增强入门程序
    • 1、需求
    • 2、代码演示
    • 3、运行结果
  • 四、关于元素定位的说明
  • 五、下拉滚动条
    • 1、代码演示
    • 2、运行结果
  • 六、其它
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档