技能树-网络爬虫-selenium

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

前言

大家好,我是空空star,本篇给大家分享一下《技能树-网络爬虫-selenium》

一、selenium

Selenium是web自动化测试工具集,爬虫可以利用其实现对页面动态资源的采集,对于其这种说法错误的是:

A.selenium本质是驱动浏览器来发送请求,模拟浏览器的行为
B.页面执行 js 才能呈现的内容,可以使用 selenium 来协助采集
C.请求之后往往需要等待一段时间,等待资源加载渲染完成
D.selenium和requests一样,都能用来采集数据,具有同等的速度

分析:
A是对的,Selenium是一个自动化测试工具,可以通过编程语言(如Python、Java)来驱动浏览器,模拟人工操作来访问网页并获取数据。
B是对的,有execute_script()方法;
C是对的,可以通过显示等待、隐式等待、强制等待设置等待时间;
D是错的,Selenium不能像requests那样直接发送HTTP请求,而是通过模拟用户在浏览器上的操作来访问网页,因此相对来说会比requests更慢一些。

二、selenium 测试用例

Selenium 是web自动化测试工具集,爬虫可以利用其实现对页面动态资源的采集。请按顺序操作:

  1. 安装 Python Selenium 包:pip install selenium
  2. 安装 Chrome 驱动:https://npm.taobao.org/mirrors/chromedriver/,如果使用别的浏览器需要下载对应浏览器的驱动
  3. 编写使用 python unittest 测试使用 selenium 完成自动化

selenium 自动化网页测试的操作:

  1. 使用 selenium 的Chrome 驱动,打开 CSDN 首页,此时会打开 Chrome 浏览器测试页面
  2. 验证字符串 “CSDN” 在页面标题
  3. 找到网页里的搜索框
  4. 输入"OpenCV技能树"
  5. 输入回车,搜索结果
  6. 等待10秒退出

代码框架如下:

# -*- coding: UTF-8 -*-
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

class PythonOrgSearch(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome()

    def test_search_in_python_org(self):
        # TODO(You): 请正确实现浏览器自动化测试需求
        time.sleep(10)

    def tearDown(self):
        self.driver.close()

if __name__ == "__main__":
    unittest.main()

以下代码实现正确的是?
A.

def test_search_in_python_org(self):
    driver = self.driver
    driver.get("https://www.csdn.net/")
    self.assertIn("CSDN", driver.title)
    elem = driver.find_element_by_id("toolbar-search-input")
    elem.send_keys(Keys.RETURN)
    assert "No results found." not in driver.page_source
    time.sleep(10)

B.

def test_search_in_python_org(self):
    driver = self.driver
    driver.get("https://www.csdn.net/")
    self.assertIn("CSDN", driver.title)
    elem = driver.find_element_by_id("toolbar-search-input")
    elem.send_keys("OpenCV技能树")
    elem.send_keys(Keys.RETURN)
    assert "No results found." not in driver.page_source
    time.sleep(10)

C.

def test_search_in_python_org(self):
    driver = self.driver
    driver.get("https://www.csdn.net/")
    self.assertIn("CSDN", driver.title)
    elem = driver.find_element_by_id("toolbar-search-input")
    elem.send_keys("OpenCV技能树")
    assert "No results found." not in driver.page_source
    time.sleep(10)

D.

def test_search_in_python_org(self):
    driver = self.driver
    driver.get("https://www.csdn.net/")
    self.assertIn("CSDN", driver.title)
    elem = driver.find_element_by_name("toolbar-search-input")
    elem.send_keys("OpenCV 技能树")
    elem.send_keys(Keys.RETURN)
    assert "No results found." not in driver.page_source
    time.sleep(10)

分析:
A是错的,没有向输入框输入 OpenCV技能树;
B是对的;
C是错的,没有回车查询;
D是错的,定位方式不对,通过下图可以看到输入框的 id="toolbar-search-input"并不是name文章来源地址https://www.toymoban.com/news/detail-600454.html

技能树-网络爬虫-selenium,Selenium,爬虫,selenium,python

总结

到了这里,关于技能树-网络爬虫-selenium的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 〖Python网络爬虫实战㉗〗- Selenium案例实战(一)

    订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+                  python项目实战                  Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,

    2024年02月14日
    浏览(43)
  • Python网络爬虫(三):Selenium--以携程酒店为例

            Selenium是一个用于网站应用程序自动化的工具,它可以直接运行在浏览器中,就像真正的用户在操作一样。它相当于一个机器人,可以模拟人类在浏览器上的一些行为,比如输入文本、点击、回车等。Selenium支持多种浏览器,本文以Chrome浏览器为例。chromedriver是一个驱

    2024年04月23日
    浏览(46)
  • 〖Python网络爬虫实战㉛〗- Selenium 的其他操作使用

    订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+                 python项目实战                  Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,

    2024年02月16日
    浏览(40)
  • python网络爬虫selenium打开多窗口与切换页面,附详细答案解析

    time.sleep(2) win2 = driver.window_handles[1] driver.switch_to.window(win2) print(driver.current_url) 关于句柄在列表中的顺序, 建议一般最好只额外打开一个网页,不建议打开更多的网页进行切换。当打开的网页数量超过两个时,句柄列表中的元素分别代表哪个网页,其顺序是不太好确定的。以下

    2024年04月09日
    浏览(75)
  • python网络爬虫之selenium的详细安装配置以及简单使用--菜鸟复习日记

     学习python selenium已经是好久以前的事情了,自己都快要忘记了,所以写篇博客复习复习,本文包括安装selenium驱动以及selenium的一些简单使用。本文默认安装python以及selenium库。 目录 一、安装seleium的驱动(以谷歌浏览器为例) 二、selenium库的一些简单用法。         1.向输入框

    2024年02月06日
    浏览(36)
  • Python小姿势 - # Python网络爬虫之如何通过selenium模拟浏览器登录微博

    Python网络爬虫之如何通过selenium模拟浏览器登录微博 微博登录接口很混乱,需要我们通过selenium来模拟浏览器登录。 首先我们需要安装selenium,通过pip安装: ``` pip install selenium ``` 然后我们需要下载一个浏览器驱动,推荐使用Chrome,下载地址:http://chromedriver.storage.googleapis.c

    2024年02月03日
    浏览(59)
  • 网络爬虫开发(五)01-爬虫高级——Selenium简介 & 根据平台选择安装selenium-webdriver包 & Selenium的基本使用

    网络爬虫开发(五)01-爬虫高级——Selenium简介 根据平台选择安装selenium-webdriver包 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

    2024年01月24日
    浏览(36)
  • 14.网络爬虫—selenium详讲

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

    2023年04月14日
    浏览(41)
  • Python网络爬虫逆向分析爬取动态网页、使用Selenium库爬取动态网页、​编辑将数据存储入MongoDB数据库

    目录 逆向分析爬取动态网页 了解静态网页和动态网页区别 1.判断静态网页  2.判断动态网页  逆向分析爬取动态网页 使用Selenium库爬取动态网页 安装Selenium库以及下载浏览器补丁 页面等待  页面操作 1.填充表单 2.执行JavaScript 元素选取 Selenium库的find_element的语法使用格式如下

    2024年02月15日
    浏览(107)
  • 15.网络爬虫—selenium验证码破解

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

    2023年04月16日
    浏览(93)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包