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

哪个网站做电商门槛最低seo搜索引擎优化实战

哪个网站做电商门槛最低,seo搜索引擎优化实战,wordpress 文章,百度站长工具网址前言 在前面编写一个Selenium的自动化程序时候,发现一个问题。 因笔记本配置较为差,所以每次初始化Selenium的WebDriver都会非常慢,整个等待过程是不友好的。 所以我就想到: 在程序中初始化一个全局的WebDriver对象&#xff0c…

在这里插入图片描述

前言

在前面编写一个Selenium的自动化程序时候,发现一个问题。

因笔记本配置较为差,所以每次初始化SeleniumWebDriver都会非常慢,整个等待过程是不友好的。

所以我就想到:

  • 在程序中初始化一个全局的WebDriver对象,在程序结束之后不退出Selenium打开的浏览器。

    这样就只需要启动一次Selenium打开的浏览器,后面都使用这个浏览器。

这样的确是个好主意,但随之而来的问题是:

  • ?万一Selenium打开的浏览器被系统回收或者出现异常了,那么程序运行就会出错!

所以在最终,整个问题解决的思路如下:

  1. 程序运行前先检测指定的 Selenium浏览器(系统进程)是否存在;
  2. 如果存在则往后运行程序;
  3. 如果不存在则先打开Selenium浏览器,再往后运行程序。

文章的标题虽然为 Python psutil:系统进程管理与Selenium效率提升的完美结合,但是应用场景却是很广的,譬如系统监控、系统监控、性能分析、限制系统资源、管理进程。

本文主要借助于 Pythonpsutil模块来实现,所以下面更多的是介绍 psutil模块的使用。

当然,重要的并不是使用什么工具,而是怎么使用工具,以及工具能帮助我们解决哪些问题。

知识点

模块解释
psutil用于在 Python 中检索有关运行进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。

具体的介绍看下图:

psutil(python system and process utilities)是一个跨平台库,用于访问操作系统的进程和系统利用率(CPU、内存、磁盘、网络等)。它主要用于系统监控,分析和限制系统资源,以及管理运行的进程。它实现了Unix命令行工具提供的许多功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。

在这里插入图片描述




应用场景

在使用selenium进行自动化测试时,每次开启和销毁浏览器窗口都会消耗系统资源。使用psutil来监控selenium的浏览器窗口。如果检测到窗口已经存在,就可以复用这个窗口,而不是每次都创建新的窗口。这样可以节省消耗系统资源。

psutil还可以用于多种场景,包括系统监控、性能分析、限制系统资源、管理进程等。

psutil的基础使用

这部分操作,在官方文档中都可以找到。

获取CPU 信息

import psutil# 获取CPU的数量
cpu_count = psutil.cpu_count()
print(f'Number of CPUs: {cpu_count}')# 获取CPU的使用率
cpu_percent = psutil.cpu_percent()
print(f'CPU usage: {cpu_percent}%')# 获取CPU的详细信息
cpu_times = psutil.cpu_times()
print(f'CPU times: {cpu_times}')

获取 内存 信息

# 获取系统的内存使用情况
mem_info = psutil.virtual_memory()
print(f'Memory info: {mem_info}')# 获取系统的交换内存(swap)使用情况
swap_info = psutil.swap_memory()
print(f'Swap info: {swap_info}')

获取 磁盘 信息

# 获取磁盘分区信息
disk_partitions = psutil.disk_partitions()
print(f'Disk partitions: {disk_partitions}')# 获取根目录的磁盘使用情况
disk_usage = psutil.disk_usage('/')
print(f'Disk usage: {disk_usage}')# 获取磁盘IO信息
disk_io = psutil.disk_io_counters()
print(f'Disk IO: {disk_io}')

获取 网络 信息

# 获取网络IO信息
net_io = psutil.net_io_counters()
print(f'Network IO: {net_io}')# 获取当前的网络连接信息
net_connections = psutil.net_connections()
print(f'Network connections: {net_connections}')# 获取网络接口信息
net_if_addrs = psutil.net_if_addrs()
print(f'Network interface addresses: {net_if_addrs}')# 获取网络接口状态
net_if_stats = psutil.net_if_stats()
print(f'Network interface stats: {net_if_stats}')

获取 进程 信息

# 获取当前运行的所有进程ID
pids = psutil.pids()
print(f'Process IDs: {pids}')# 获取所有进程实例
for proc in psutil.process_iter(['pid', 'name', 'username']):print(proc.info)# 获取指定PID的进程实例
pid = 1
if psutil.pid_exists(pid):proc = psutil.Process(pid)print(f'Process info: {proc.info()}')

监控系统进程代码

指定chrome版

这里用到我之前的一篇Selenium文章,【Selenium】控制当前已经打开的 chrome浏览器窗口

文章中提到,在命令行使用以下命令去驱动Selenium浏览器

chrome.exe --remote-debugging-port=9527 --user-data-dir=“F:\selenium”

因为使用了命令行去执行,所以在代码中需要检索:是否包含指定命令函参数


在我的Selenium项目中,检测该Selenium浏览器受否存在的代码如下所示:

  • 看不懂就看注释啪🥧~

在这里插入图片描述

代码释义:

这份代码的主要用途是检查是否有包含特定命令行参数的Chrome浏览器进程正在运行。它遍历所有正在运行的进程,如果进程的名称包含"chrome",并且命令行参数中包含--remote-debugging-port=port,那么就返回True,否则返回False。这对于自动化测试非常有用,可以避免重复创建和销毁浏览器窗口,从而节省系统资源。

通用版

下面函数可以用于监控特定的进程是否在运行。例如,你可能有一个重要的服务或应用,你希望确保它始终在运行。你可以定期运行这个函数来检查这个服务或应用是否在运行,如果不在运行,可以采取相应的操作,如重新启动服务或应用。

import os
import subprocessimport psutildef check_if_specific_process_running(process_name, cmdline=None) -> bool:"""检查是否有包含指定名称的进程正在运行。Args:process_name(str): 要检查的进程名cmdline(str): 要检查的命令行参数。默认为None。Returns:bool: 如果找到匹配的进程则返回True,否则返回False。"""# 遍历所有正在运行的进程for proc in psutil.process_iter():try:# 检查进程名是否包含给定的名称字符串if process_name.lower() in proc.name().lower():# 获取进程详细信息列表p_info = proc.as_dict(attrs=['pid', 'name', 'cmdline'])# 如果提供了cmdline,检查它是否在进程的cmdline中if cmdline:if any(cmdline in cmd for cmd in p_info['cmdline']):return True# 如果没有提供cmdline,返回True,因为进程名匹配else:return Trueexcept (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):passreturn Falsedef exec_cmd_command():"""切换到指定路径,若有。然后打开浏览器Returns:True"""os.chdir(path=config.CHROME_PATH)subprocess.Popen(r'chrome.exe --remote-debugging-port=9527 --user-data-dir="F:\selenium"',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)return Trueif __name__ == '__main__':if not check_if_specific_chrome_running():# 打开浏览器exec_cmd_command()

总结

psutil是一个强大的库,可以用于获取系统和进程的信息,以及管理进程。它在系统监控、性能分析、资源管理等方面都有广泛的应用。本文中代码是一个很好的例子,展示了如何使用psutil来检查特定的浏览器进程是否正在运行,从而避免重复创建和销毁窗口,节省系统资源。

后话

本次分享到此结束,

see you🎉🎉

http://www.mmbaike.com/news/86065.html

相关文章:

  • 天津网站开发技术公司网站建设方案
  • 网站开发人员全媒体广告代理加盟
  • 网站图片如何做链接中国500强最新排名
  • 如何查看网站根目录发帖秒收录的网站
  • wordpress 外贸企业模板下载网站google搜索优化
  • 品牌网站建设有什么作用网站开发制作培训学校
  • 静态网站做一单多少钱今日头条郑州头条新闻
  • 搜集10个优秀网站成都网站建设方案托管
  • html网站设计实例代码东莞网站推广优化公司
  • 做彩票网站程序违法吗百度推广竞价托管
  • 域名和空间都有了怎么做网站营销网站建设的因素
  • 网站建设后怎样发信息seo推广思路
  • 全国最大装修网站排名成都百度提升优化
  • 做特卖的网站广州各区风险区域最新动态
  • 给别人做网站的销售叫什么搜索数据
  • 视频结交网站怎么做手机百度如何发布作品
  • 民政府公众信息网站建设第一接单网app地推和拉新
  • wordpress 图片轮播插件下载网站seo的内容是什么
  • wordpress 开启https下载班级优化大师
  • 用html5做的网站素材网站建设问一问公司
  • 成人自考本科2022年报名时间黄山seo推广
  • 哪里做网站排名网页设计一般用什么软件
  • 宿迁哪家做网站好百度登录页
  • 建网站公司哪个比较好附近成人电脑培训班
  • 德阳网站建设网站建设seo顾问是什么
  • 给政府做网站报价站长号
  • 这个网站 做学术检索非常棒外链推广平台
  • 仿京东电商的网站开发精准防控高效处置
  • 长沙专业网站建设怎么做国内新闻
  • 深圳建设网官方网站百度关键词排名qq