网络爬虫开发(五)01-爬虫高级——Selenium简介 & 根据平台选择安装selenium-webdriver包 & Selenium的基本使用

这篇具有很好参考价值的文章主要介绍了网络爬虫开发(五)01-爬虫高级——Selenium简介 & 根据平台选择安装selenium-webdriver包 & Selenium的基本使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网络爬虫开发(五)01-爬虫高级——Selenium简介 & 根据平台选择安装selenium-webdriver包 & Selenium的基本使用

第3章 爬虫高级

学习目标:

  • 使用Selenium库爬取前端渲染的网页
  • 反反爬虫技术

Selenium简介

官方原文介绍:

Selenium automates browsers. That’s it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) be automated as well.

Selenium has the support of some of the largest browser vendors who have taken (or are taking) steps to make Selenium a native part of their browser. It is also the core technology in countless other browser automation tools, APIs and frameworks.

百度百科介绍:

Selenium [1] 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),[Mozilla Firefox](https://baike.baidu.com/item/Mozilla Firefox/3504923),Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

简单总结:

Selenium是一个Web应用的自动化测试框架,可以创建回归测试来检验软件功能和用户需求,通过框架可以编写代码来启动浏览器进行自动化测试,换言之,用于做爬虫就可以使用代码启动浏览器,让真正的浏览器去打开网页,然后去网页中获取想要的信息!从而实现真正意义上无惧反爬虫手段!

Selenium的基本使用

  1. 根据平台下载需要的webdriver
  2. 项目中安装selenium-webdriver包
  3. 根据官方文档写一个小demo

根据平台选择webdriver

浏览器 webdriver
Chrome chromedriver(.exe)
Internet Explorer IEDriverServer.exe
Edge MicrosoftWebDriver.msi
Firefox geckodriver(.exe)
Safari safaridriver

选择版本和平台:

网络爬虫开发(五)01-爬虫高级——Selenium简介 & 根据平台选择安装selenium-webdriver包 & Selenium的基本使用,node.js进阶,爬虫,selenium,测试工具

下载后放入项目根目录

安装selenium-webdriver的包

npm i selenium-webdriver

自动打开百度搜索“黑马程序员“

const { Builder, By, Key, until } = require('selenium-webdriver');

(async function example() {
  let driver = await new Builder().forBrowser('chrome').build();
  // try {
  await driver.get('https://www.baidu.com');
  await driver.findElement(By.id('kw')).sendKeys('黑马程序员', Key.ENTER);
  console.log(await driver.wait(until.titleIs('黑马程序员_百度搜索'), 1000))
  // } finally {
  //   await driver.quit();
  // }
})();
实例

Selenium目录

网络爬虫开发(五)01-爬虫高级——Selenium简介 & 根据平台选择安装selenium-webdriver包 & Selenium的基本使用,node.js进阶,爬虫,selenium,测试工具

第一步:安包

第二步:npm i 安装依赖

package.json

{
  "name": "selenium-demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "selenium-webdriver": "^4.0.0-alpha.4"
  }
}

第三步:新建demo文件

helloworld.js

const { Builder, By, Key, until } = require('selenium-webdriver');

(async function example() {
  let driver = await new Builder().forBrowser('chrome').build();
  try {
    // 自动打开百度,并搜索黑马程序员(webdriver)
    await driver.get('https://www.boxuegu.com');
    // 找到元素, 向里面发送一个关键字并按回车 sendKeys第一个参数是搜索的关键词
    await driver.findElement(By.id('kw')).sendKeys('webdriver', Key.RETURN);
    // 验证是否搜索成功
    // await driver.wait(until.titleIs('webdriver - Google Search'), 1000);
  } finally {
    // 退出
    // await driver.quit();
  }
})();

第四步:运行测试

node .\helloworld.js

此时,自动新开启浏览器并进行搜索

网络爬虫开发(五)01-爬虫高级——Selenium简介 & 根据平台选择安装selenium-webdriver包 & Selenium的基本使用,node.js进阶,爬虫,selenium,测试工具文章来源地址https://www.toymoban.com/news/detail-821353.html

到了这里,关于网络爬虫开发(五)01-爬虫高级——Selenium简介 & 根据平台选择安装selenium-webdriver包 & Selenium的基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 电商数据抓取的几种方式分享-开发平台接口、网络爬虫数据、数据挖掘

    随着网络的普及,人们网络购物已然成为日常生活方式之一。电商们也是在不断壮大成长,各电商平台的数据量是越来越大。如何将电商大数据转化为能为我们所用的,给我们带来利益增长的工具呢?抓取电商数据是第一步,能够通过快速便捷低成本的方式获取电商数据,这

    2024年02月05日
    浏览(33)
  • Python爬虫技术系列-06selenium完成自动化测试V01

    使用selenium库完成动点击下一页,点击视频操作等过程, 如果你非要说这是XX,那我也不过多辩解,毕竟 批评不自由,赞美无意义 。 本案例仅是技术演示,所以会隐去相关网址等,读者可以重点查看这里使用的selenium技术点即可。另外本版本为V01版本,所以仅仅是可用,很多

    2024年02月05日
    浏览(32)
  • Selenium + Chrome WebDriver + JS:实现高级爬虫技巧,获取网页响应状态码!

    随着爬虫技术的发展,我们使用requests库能够轻松获取响应状态码,但对于Selenium爬虫,同样可以迎刃而解。通过执行JavaScript脚本,我们可以智能地捕获网页的响应状态码,实现高级的爬虫功能。 在开始之前,确保你已正确安装Selenium和Chrome WebDriver,并配置好环境变量。 以下

    2024年02月07日
    浏览(42)
  • 01 Python 网络爬虫:爬虫技术的核心原理

    不夸张地说,现在哪怕是初中生,只要花点儿时间、精力稍微按「网络爬虫」的开发步骤学习了解一下,也能把它玩得贼溜。 听起来感觉是很高大上的东西,但实际上并不复杂,也就是使用了某种编程语言按照一定步骤、规则主动通过互联网来抓取某些特定信息的代码程序。

    2024年02月12日
    浏览(32)
  • Python爬虫实战:selenium爬取电商平台商品数据(1)

    def index_page(page): “”\\\" 抓取索引页 :param page: 页码 “”\\\" print(‘正在爬取第’, str(page), ‘页数据’) try: url = ‘https://search.jd.com/Search?keyword=iPhoneev=exbrand_Apple’ driver.get(url) if page 1: input = driver.find_element_by_xpath(‘//*[@id=“J_bottomPage”]/span[2]/input’) button = driver.find_element_by_xpath(‘

    2024年04月28日
    浏览(32)
  • 01-无线传感器网络(WSN)简介

    01-1定义 无线传感器网络(WSN)集成了传感器技术、嵌入式技术、计算机网络和无线通信技术等,在各个领域的应用不断扩展,被认为是21世纪最有影响力的技术之一。无线传感器网络是由大量静止或移动的传感器以自组织和多跳的方式构成的无线网络,目的是协作地探测、处

    2024年02月06日
    浏览(34)
  • 【Python网络爬虫】企查查高级搜索及批量查询接口爬虫

    写在前面: 本文所介绍的企查查爬虫代码需要用到cookie,且cookie所对应的账号需要为vip或以上等级具有高级搜索和批量查询的功能,无此功能的账号暂不支持; 本文所介绍的是在其他人分析了前端headers哈希加密后的基础上的进一步补充和完善,并会提供完整的请求代码;

    2024年02月03日
    浏览(32)
  • 网络协议与攻击模拟_01winshark工具简介

    网络接口层(没有特定的协议)    物理层:PPPOE宽带拨号(应用场景:宽带拨号,运营商切网过来没有固定IP就需要拨号,家庭带宽一般都采用的是拨号方式) 数据链路层 网络层:IP(v4/v6) ARP(地址解析协议) RARP 、ICMP(internet控制报文协议) IGMP 传输层:TCP(传输控制

    2024年01月22日
    浏览(29)
  • 技能树-网络爬虫-selenium

    大家好,我是空空star,本篇给大家分享一下 《技能树-网络爬虫-selenium》 。 Selenium是web自动化测试工具集,爬虫可以利用其实现对页面动态资源的采集,对于其这种说法错误的是: A.selenium本质是驱动浏览器来发送请求,模拟浏览器的行为 B.页面执行 js 才能呈现的内容,可以

    2024年02月16日
    浏览(29)
  • 14.网络爬虫—selenium详讲

    前言 : 🏘️🏘️个人简介:以山河作礼。 🎖️🎖️:Python领域新星创作者,CSDN实力新星认证 📝​📝第一篇文章《1.认识网络爬虫》获得 全站热榜第一,python领域热榜第一 。 🧾 🧾第四篇文章《4.网络爬虫—Post请求(实战演示)》 全站热榜第八 。 🧾 🧾第八篇文章《8.网

    2023年04月14日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包