Selenium入门用法详解【Java爬虫】

这篇具有很好参考价值的文章主要介绍了Selenium入门用法详解【Java爬虫】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

Selenium 是一个有很多工具和库,可以用来支持浏览器自动化的项目

它能模拟用户与浏览器进行交互,实现 了W3C WebDriver 规范的基础架构 。

Selenium 的核心是WebDriver,可以理解为一个驱动包。

搭建项目

1.先安装Selenium类库(java)

打开你的IDEA,新建一个空的Maven项目,
在项目文件中添加selenium-java依赖项:pom.xml

		<dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.7.1</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-grid</artifactId>
            <version>4.7.1</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.36</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.11</version>
        </dependency>
        <!--下面这个依赖会根据你电脑安装的浏览器版本自动选择驱动(驱动管理)-->
        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>5.2.3</version>
        </dependency>

开始使用Selenium

Selenium 所做的一切都是发送浏览器命令来做某事或发送信息请求。您将使用 Selenium 执行的大部分操作都是以下基本命令的组合:

1. 开始会话
   WebDriver driver = new ChromeDriver();
2.访问一个网站

在这个例子中,我们正在导航到一个网页。

 driver.get("https://selenium.dev");
3.读取页面数据

您可以请求有关浏览器的多种类型的信息,包括窗口句柄、浏览器大小/位置、cookie、警报等。

 driver.getTitle(); // => "Google"
4. 建立等待策略

将代码与浏览器的当前状态同步是 Selenium 的最大挑战之一,而将其做好是一个高级主题。

本质上,您希望在尝试定位元素之前确保该元素位于页面上,并且在尝试与其交互之前该元素处于可交互状态。

隐式等待很少是最好的解决方案,但在这里最容易演示,因此我们将其用作占位符。

 driver.manage().timeouts().implicitlyWait(Duration.ofMillis(500));
5. 查找页面元素

大多数 Selenium 会话中的大多数命令都是与元素相关的,如果不先找到元素,您就无法与之交互

WebElement searchBox = driver.findElement(By.name("q"));
WebElement searchButton = driver.findElement(By.name("btnK"));
6.操作查找到的元素

对一个元素只有少量操作,但您会经常使用它们。

searchBox.sendKeys(“Selenium”);
searchButton.click();

7.读取元素信息

元素存储了大量可以请求的信息。请注意,我们需要重新定位搜索框,因为自从我们第一次找到它之后 DOM 已经发生了变化。

driver.findElement(By.name("q")).getAttribute("value"); // => "Selenium"
8. 结束会话

这将结束驱动程序进程,默认情况下也会关闭浏览器。无法向此驱动程序实例发送更多命令。文章来源地址https://www.toymoban.com/news/detail-410631.html

 driver.quit();

Hello world 代码示例

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

public class JDCrawler {

    public static void main(String[] args) {
        WebDriver driver = new ChromeDriver();
        driver.get("https://baidu.com");
        driver.quit();
    }
}

到了这里,关于Selenium入门用法详解【Java爬虫】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python爬虫框架之Selenium库入门:用Python实现网页自动化测试详解

    是否还在为网页测试而烦恼?是否还在为重复的点击、等待而劳累?试试强大的 Selenium !让你的网页自动化测试变得轻松有趣! Selenium 是一个强大的自动化测试工具,它可以让你直接操控浏览器,完成各种与网页交互的任务。通过使用 Python 的 Selenium 库,你可以高效地实现

    2024年02月10日
    浏览(40)
  • 【Python爬虫开发基础⑩】selenium概述

    🚀 个人主页 :为梦而生~ 关注我一起学习吧! 💡 专栏 :python网络爬虫从基础到实战 欢迎订阅!后面的内容会越来越有意思~ 💡 往期推荐 : ⭐️前面比较重要的 基础内容 : 【Python爬虫开发基础⑥】计算机网络基础(Web和HTTP) 【Python爬虫开发基础⑦】urllib库的基本使用

    2024年02月12日
    浏览(35)
  • python爬虫教程:selenium常用API用法和浏览器控制

    selenium api selenium 新版本( 4.8.2 )很多函数,包括元素定位、很多 API 方法均发生变化,本文记录以 selenium4.8.2 为准。 webdriver 常用 API 方法 描述 get(String url) 访问目标url地址,打开网页 current_url 获取当前页面url地址 title 获取页面标题 page_source 获取页面源代码 close() 关闭浏览器当

    2024年02月05日
    浏览(38)
  • 自动化测试介绍、selenium用法(自动化测试框架+爬虫可用)

    1、什么是自动化测试? 程序测试程序、代码代替思维、脚本代替人工 核心:质量和效率 作用:降低成本、节省人力时间、推动CI和DevOps、准确性和可靠性、模拟人工难以实现的手段、快速持续迭代发布能力、衡量产品的质量、提升测试效率、提高测试覆盖率 2、手工测试

    2024年03月08日
    浏览(59)
  • 【Python】【进阶篇】二十四、Python爬虫的Selenium的基本用法

    Selenium 作为一款 Web 自动化测试框架,提供了诸多操作浏览器的方法,本节对其中的常用方法做详细介绍。 Selenium 提供了 8 种定位单个节点的方法,如下所示: 定位节点方法 方法 | 说明 ---|--- find_element_by_id() | 通过 id 属性值定位 find_element_by_name() | 通过 name 属性值定位 find

    2024年02月04日
    浏览(70)
  • 一个月学通Python(二十八):Python网络数据采集(爬虫)概述(爬虫)

    结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 爬虫(crawler)也经常被称为网络蜘蛛(spider),是按照一定的规则自

    2024年02月14日
    浏览(41)
  • 爬虫入门基础与Selenium反爬虫策略

    目录 一、爬虫入门基础 1、什么是爬虫? 2、爬虫的分类 3、爬虫的基本流程 二、Selenium简介 1、Selenium是什么? 2、Selenium的用途 三、应对反爬虫的Selenium策略 1、使用代理IP 2、模拟用户行为 3、设置合理的请求间隔时间 4、随机化请求参数 5、使用JavaScript渲染引擎 四、Seleniu

    2024年02月05日
    浏览(39)
  • 爬虫入门基础-Selenium反爬

    在网络时代,爬虫作为一种强大的数据采集工具,被广泛应用于各行各业。然而,许多网站为了防止被恶意爬取数据,采取了各种反爬虫机制。为了能够成功地绕过这些机制,Selenium成为了爬虫领域的一把利器。本文将为你介绍爬虫入门基础,并重点探讨如何使用Selenium应对反

    2024年02月08日
    浏览(33)
  • 继续上一个爬虫,所以说selenium加browsermobproxy

    继续,书接上回,这次我通过jsrpc,也学会了不少逆向的知识,感觉对于一般的网站应该都能应付了。当然我说的是简单的网站,遇到那些混淆的,还有那种猿人学里面的题目,还是免谈了。那种需要的水平太高,我学习爬虫的目的也不是找什么工作,只是为了找数据,能够

    2024年02月06日
    浏览(37)
  • Scala语言用Selenium库写一个爬虫模版

    首先,我将使用Scala编写一个使用Selenium库下载yuanfudao内容的下载器程序。 然后我们需要在项目的build.sbt文件中添加selenium的依赖项。以下是添加Selenium依赖项的代码: 接下来,我们需要创建一个Selenium的WebDriver对象,以便我们可以使用它来控制浏览器。以下是如何创建WebDri

    2024年02月05日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包