码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • selenium--获取页面信息和截图


    • 获取页面信息
      • name
      • current_url
      • title
      • current_window_handle
      • window_handles
      • page_source
      • 简单用法—— 判断页面
    • 截图
      • 1.get_screenshot_as_png
      • 2.get_screenshot_as_file

    获取页面信息

    主要方法如下图:
    driver.get_screenshot_as_png
    介绍一下常用的方法:

    name

    获取浏览器名字
    在这里插入图片描述

    current_url

    获得当前的url
    在这里插入图片描述

    title

    获得这个页面的title,也就是这个:
    在这里插入图片描述
    在这里插入图片描述

    current_window_handle

    获得当前窗口id
    在这里插入图片描述

    window_handles

    获得所有窗口的id

    page_source

    获得这个页面的html源码
    在这里插入图片描述

    简单用法—— 判断页面

    现在要判断打开的页面是否是百度页面,可以用到上面的几个方法:
    1.title

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com")
    title = driver.title
    
    if title == '百度一下,你就知道':
        print("是百度的网站")
    else:
        print("不是百度的网站")
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述
    2.page_source

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com")
    page = driver.page_source
    driver.quit()
    
    # 1.如果源代码中包含百度,认为是百度页面(仅举例)
    if page.__contains__("百度"):
        print("是百度的网站1")
    else:
        print("不是百度的网站1")
    
    # 2.如果软代码中 百度 出现了3次以上,就认为是百度页面:
    if page.count("百度") >= 3:
        print("是百度网站2")
    else:
        print("不是百度网站2")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    在这里插入图片描述

    截图

    1.get_screenshot_as_png

    获得二进制内容

    在这里插入图片描述
    这只是获得内容,并没有保存,要想保存可以用第二种方法或者使用代码:

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com")
    
    # 获得二进制内容
    content = driver.get_screenshot_as_png()
    print(content)
    
    # 保存
    with open("a.jpg", "wb") as f:
        f.write(content)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述
    可以看到,运行后左边目录就有了一个 a.jpgd 文件,里面是页面截图

    2.get_screenshot_as_file

    获得二进制内容***并保存***

    
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com")
    
    driver.get_screenshot_as_file("b.jpg")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    可以看到,左边目录下多了一个文件名为 b.jpg 的文件

  • 相关阅读:
    webpack:自定义plugin插件开发
    从零开始学数据结构系列之第四章《 最小生成树概念》
    FFplay文档解读-13-设备选项,输入设备一
    企业级win10电脑下同时存在Python3.11.7Python3.6.6,其中Python3.6.6是后装的【过程与踩坑复盘】
    进程死锁的处理策略之预防死锁,避免死锁以及死锁的检测和解除
    MySQL应用——常见故障分析和检查
    C语言关键字汇总
    安卓手机便签数据迁移到苹果手机怎么操作?
    radiantq:jQuery Gantt Package--好使的HTML5甘特图
    甘露糖-聚乙二醇-CY5.5 /Cy5.5-PEG-mannose
  • 原文地址:https://blog.csdn.net/qq_54426859/article/details/128057598
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号