关于使用Selenium获取网页控制台的数据

背景:

需要获取网页的控制台的数据,如下图
在这里插入图片描述

在此文章将使用到 Pycharm 和 Selenium4

Pycharm安装
Selenium安装

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 创建浏览器对象
browser = webdriver.Chrome()


# 打开页面
browser.get("https://www.baidu.com")

# 元素定位 (多种,以下使用XPATH)
# 注:线上大部分的定位函数为find_element_by_id,可能是旧版本Selenium的函数,现使用.find_element(By.___ , "")
browser.find_element(By.XPATH,"//*[@id='kw").send_keys("填入内容") # 填入输入框
browser.find_element(By.XPATH,"//*[@id='su").click() # 点击搜索

##延迟代码结束运行
time.sleep(1000)

关闭浏览器
browser.quit()

Selenium中的find_element方法 //供参考

这里使用Chrome有一个技巧可以直接复制元素的信息
在这里插入图片描述

到此我们已经完成了一部分简单的自动化操作了

接下来我们需要记录和获取控制台的信息,这部分参考可参考
jmeter-调用python脚本

import json
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

options = Options()

caps = {
    "browserName": "chrome",
    'goog:loggingPrefs': {'performance': 'ALL'}  # 开启日志性能监听
}

# 将caps添加到options中
for key, value in caps.items():
    options.set_capability(key, value)

browser = webdriver.Chrome(options=options)

# 打开页面
browser.get("https://www.baidu.com")
# 填入输入框
browser.find_element(By.XPATH,"//*[@id='kw").send_keys("填入内容") 
# 点击搜索
browser.find_element(By.XPATH,"//*[@id='su").click() 

# 停留10秒加载数据
time.sleep(10)

# 获取名称为 performance 的日志
performance_log = browser.get_log('performance')

# 打印获取的数据,有需要再进一步筛选
print(performance_log)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/274876.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

普中STM32-PZ6806L开发板(使用过程中的问题收集)

Keil使用ST-Link 报错 Internal command error 描述: 在某一次使用过程中,前面都是正常使用, Keil在烧录时报错Internal command error, 试了网上的诸多方式, 例如 升级固件;ST-Link Utility 清除;Keil升级到最新版本;甚至笔者板子的Micro头也换了,因为坏…

docker学习笔记02-安装mysql

1.安装mysql8 下载MySQL镜像 docker pull mysql:8.0创建并启动容器 docker run -itd --name mysqltest -p 9999:3306 -e MYSQL_ROOT_PASSWORD123456 mysql其中-it是交互界面 -d是后台执行 -name 指定容器名称 -p指定映射端口 -e设置环境变量 最后mysql是镜像名或者用镜像id如…

消防数据监测可视化大屏:守护城市安全的智慧之眼

在数字化时代,数据已经成为决策的关键。特别是在消防领域,快速、准确的数据分析对于及时应对火情、挽救生命财产具有不可估量的价值。为此,消防数据监测可视化大屏应运而生,成为城市安全的守护者。 一、什么是消防数据监测可视化大…

Qt 中使用 MySQL 数据库保姆级教程(下)

作者:billy 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 上篇中我们安装好了 MySQL 数据库和 Navicat 软件,下面在 Qt 中尝试使用数据库 1. 在 Qt 中连接 MySQL 数据库&#…

VuePress、VuePress-theme-hope 搭建个人博客 1【快速上手】 —— 防止踩坑篇

vuePress官网地址 👉 首页 | VuePress 手动安装 这一章节会帮助你从头搭建一个简单的 VuePress 文档网站。如果你想在一个现有项目中使用 VuePress 管理文档,从步骤 3 开始。 步骤 1: 创建并进入一个新目录 mkdir vuepress-starter cd vuepress-star…

Unity 代码控制Text自适应文本高度

在使用代码给Text赋值时,且文本有多段,并需要根据实际文本高度适配Text组件的高度时,可以使用以下方法: //Text文本 public TextMeshProUGUI text;void Start() {//代码赋值文本text.text "好!\n很好!\n非常好!";//获…

加强->servlet->tomcat

0什么是servlet jsp也是servlet 细细体会 Servlet 是 JavaEE 的规范之一,通俗的来说就是 Java 接口,将来我们可以定义 Java 类来实现这个接口,并由 Web 服务器运行 Servlet ,所以 TomCat 又被称作 Servlet 容器。 Servlet 提供了…

ebay如何发货到国外?ebay发货规则是什么?——站斧浏览器

​ebay如何发货到国外? 对于卖家来说,在eBay上向海外买家发货可能会面临一些额外的挑战。以下是一些建议,帮助卖家顺利地将商品发货给海外买家: 1、选择合适的物流服务:eBay合作的物流服务通常提供可靠和经济实惠的国…

【ARMv8M Cortex-M33 系列 2.1 -- Cortex-M33 使用 .hex 文件介绍】

文章目录 HEX 文件介绍英特尔十六进制文件格式记录类型hex 示例Cortex-M 系列hex 文件的使用 HEX 文件介绍 .hex 文件通常用于微控制器编程,包括 ARM Cortex-M 系列微控制器。这种文件格式是一种文本记录,用于在编程时传递二进制信息。.hex 文件格式最常…

【Java EE初阶三 】线程的状态与安全(上)

1. join方法与多线程 1.1 初识多线程 为了提高cpu得利用率,因此就引入了多个线程的概念;即每个线程负责完成整个程序的一部分工作即可。 写一个代码,让主线程,创建一个新的线程,由新线程负责完成运算(12。…

人工智能时代,如何借助新技术实现突破?| 圆桌对话

继上篇介绍完干货满满的议题分享后,更精彩的圆桌论坛衔尾相随。本次圆桌对话以“人工智能时代,如何借助新技术实现突破?”为主题,由华锐技术机构市场团队负责人-高媛主持,邀请了AMD中国区数据中心事业部资深架构师-梁朝…

轻松实现不同类型文件,统一重命名与隐藏编号!

你是否经常需要处理大量的文件,却为如何进行高效的文件管理而苦恼?现在,我们为你提供了一种全新的解决方案——轻松实现文件统一重命名与隐藏编号! 第一步,首先我们要进入文件批量改名高手主页面,并在板块栏…

优思学院|掌握TPM的全貌:8大支柱及其优势

TPM(全面生产维护)是一种旨在通过组织内人员的参与,持续改进生产设备或制造过程的有效性的方法。它的目标是实现“零机器故障”或“零停机”。 TPM的八大支柱 自主保养(JISHU HOZEN) 操作员执行日常的CLIT活动&#…

【c++、数据结构课设】拓扑序列的应用

再贡献一篇课设,希望能帮助到正在做课设的小伙伴。 屏幕录制2023-12-27 22.28.48 课设要求 题目描述 大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业开设的…

使用pandas处理数据的一些总结

1、替换换行符等特殊符号 df df.replace({None: "", np.nan: "", "\t": "", "\n": "", "\x08": ""}, regexTrue) 2、清除DataFrame中所有数据的左右空格,字符串中间空格不会清…

庙算兵棋推演AI开发初探(2-编写策略(上))

开始研读step()函数的编写方法。 这个是图灵网提供了一些基础的ai代码下载(浏览需要注册,下载需要审批)。 AI开发中心-人机对抗智能 (ia.ac.cn)http://turingai.ia.ac.cn/ai_center/show 一、代码研读(BaseAgent类) 1.step函数 这段代码定…

git的常用命令以及在可视化工具中的使用方法

一.引言 想当初在刚进公司的时候,对于git的使用非常不熟悉,特别是分支的概念,导致开发效率变低,故通过此文章,总结git的使用经验 二.Git 常用命令详解 2.1 git clone [url]: 克隆远程仓库到本地 刚开始时&#xff0c…

机器学习深度学习面试笔记

机器学习&深度学习面试笔记 机器学习Q. 在线性回归中,如果自变量之间存在多重共线性,会导致什么问题?如何检测和处理多重共线性?Q. 什么是岭回归(Ridge Regression)和Lasso回归(Lasso Regression)?它们与普通线性回…

Three.js基础入门介绍——Three.js学习三【借助控制器操作相机】

在Three.js基础入门介绍——Three.js学习二【极简入门】中介绍了如何搭建Three.js开发环境并实现一个包含旋转立方体的场景示例,以此为前提,本篇将引进一个控制器的概念并使用”轨道控制器”(OrbitControls)来达到从不同方向展示场…

Linux下安装RocketMQ

1、创建文件夹app/rocketMQ 在xshell里可以找到这里,xftp可以直接创建文件夹,并上传文件,也可以使用命令创建文件夹, 创建文件夹命令:mkdir app、mkdir rocketMQ 2、上传好后解压 使用命令解压 unzip 压缩包名 3、获…