当前位置: 首页 > news >正文

关于使用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 timefrom selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesoptions = 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)
http://www.lryc.cn/news/273223.html

相关文章:

  • vue2和vue3中的路由使用及传参方式
  • 论文管理器
  • postfix配置tls加密
  • 虚拟专线网络(IP-VPN)
  • 【Unity动画系统】Unity动画系统Animation详解,参数细节你是否弄清?
  • K8S Helm安装RocketMQ standalone单机版,配置外网地址注册到nameserver中方便本地开发
  • 分布式基础概念
  • 蓝桥杯python比赛历届真题99道经典练习题 (89-99)
  • 蚂蚁矿机AntMiner T9+引出IO定义
  • 浅析 Dockerfile 构建缓存:原理与优化方法
  • 隐藏层节点数对分类准确率的影响
  • 【水浸传感器】软硬件一体水浸监测整套方案远程监测解决各种环境漏水问题
  • 知虾会员**成为知虾会员,尊享专属权益**
  • 好代码网同款wordpress主题,适合搭建资源分享类网站,自带五六百的精品资源数据
  • Java多线程<三>常见的多线程设计模式
  • JavaScript 基础二part1.运算符:赋值、一元、比较、逻辑运算符
  • Linux 进程(八) 进程的退出码
  • Go语言中支持的internal目录配置与组织内私网包配置详解
  • 如何使用Nmap加强网络安全?
  • LeetCode 2487. 从链表中移除节点:单调栈
  • LabVIEW在高精度机器人视觉定位系统中的应用
  • Arm CCA机密计算扩展
  • 【Unity入门】热更新框架之xLua
  • 大数据Doris(四十五):物化视图选择最优
  • PostgreSQL10数据库源码安装及plpython2u、uuid-ossp插件安装
  • 如何成为ChatGPT 优质Prompt创作者
  • LeetCode第71题 - 简化路径
  • VSCode上远程调试代码出现的问题
  • 【langchain】入门初探实战笔记(Chain, Retrieve, Memory, Agent)
  • 《数据结构、算法与应用C++语言描述》- 平衡搜索树 -全网唯一完整详细实现插入和删除操作的模板类