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

Selenium Web自动化测试学习笔记(二)--八大元素定位

前置设置及代码

目录结构如下,将驱动器chromedriver.exe复制粘贴到此目录下,具体环境配置参考笔记一:

Selenium Web自动化测试学习笔记(一)-CSDN博客

首先和笔记(一)一样导入一些包用于设置谷歌浏览器的代码、管理驱动、导入用于元素定位的包By,导入时间time这个包用于使操作睡眠sleep()特定的秒数

设置并启动浏览器--创建用于设置浏览器的对象q1,保持浏览器始终打开

打开指定的网址,这里统一打开百度这个网址

from selenium import webdriver # 操作浏览器
from selenium.webdriver.chrome.options import Options # 设置谷歌浏览器
from  selenium.webdriver.chrome.service import Service # 管理驱动
from  selenium.webdriver.common.by import By#在元素定位里面需要定位的类型
import time
#设置+启动浏览器
def set_lauch():#01创建一个用于设置浏览器的对象q1q1 = Options()#禁用沙箱-增加兼容性q1.add_argument('--no-sandbox')#保持浏览器打开(默认代码执行完自动关闭)q1.add_experimental_option('detach', True)#02创建浏览器a1并启动浏览器a1 = webdriver.Chrome(service=Service('chromedriver.exe'), options=q1)#return用于接收return a1a1 = set_lauch()
#打开指定网址
url = 'https://www.baidu.com'
a1.get(url)

元素定位

要想元素定位比较准确,用多个元素定位方式如ID和Name合CLASS_NAME一起定位较好,定位更为准确,更容易找到唯一确认的元素

1--ID

例:百度的输入框范围内右键并点击检查,定位得到的id的value值为kw

同理,在百度一下的按钮范围内右键并点击检查 ,定位得到的id的value值为su

代码之ID实现元素定位,并实现元素交互如下面的元素输入和元素点击:

a1.find_element(By.ID, 'kw').send_keys('周杰伦年轻')#输入框输入周杰伦年轻
a1.find_element(By.ID,'su').click()#点击百度一下这个按钮

结果:

优点:ID定位一般来说比较准确

缺点:有些元素没有ID,并不是所有的网页或者元素都有ID值

2--NAME

例:百度的输入框范围内右键并点击检查,定位得到的NAME的value值为wd

 同理,在百度一下的按钮范围内右键并点击检查 ,定位后发现这个按钮键根本没NAME值所以不能用NAME定位,目前只能继续用ID定位

代码之NAME实现元素定位,并实现元素交互如下面的元素输入和元素点击:

a1.find_element(By.NAME, 'wd').send_keys('周杰伦年轻')#改用NAME定位,value值为wd
a1.find_element(By.ID,'su').click()#因为没NAME值,只能用ID继续定位

结果:与ID搜索到的相同

优点:与ID类似,NAME定位一般来说比较准确

缺点:有些元素没有NAME,而且NAME值出现的频率比ID值出现的频率还要低,有些网站基本弃用

3--CLASS_NAME

例1:实现搜索词条‘周杰伦年轻’

百度的输入框范围内右键并点击检查,定位得到的CLASS的value值为s_ipt

在使用这个CLASS_NAME定位前,先检查是否有重复的值 ,检查方法为先点击Console控制台,再在控制台中输入

document.getElementsByClassName('s_ipt')

如下图所示,得到的结果只有一个就是这个输入框,kw和wd分别为ID值和NAME值,说明没有重复的值

同理,在百度一下的按钮范围内右键并点击检查 ,定位得到class="bg s_btn"

在控制台中输入如下

document.getElementsByClassName('bg s_btn')

如下图所示,得到的结果只有一个就是这个百度一下按钮的值,su是其ID值,说明没有重复的值

代码实现(有空格出错版) :
a1.find_element(By.CLASS_NAME,'s_ipt').send_keys('周杰伦年轻')#改用CLASS_NAME定位,value值为s_ipt
a1.find_element(By.CLASS_NAME,'bg s_btn').click()#改用CLASS_NAME定位,value值为bg s_btn

但结果出错

出错原因:

class的value值不能含有空格,有空格定位就会定位出错,因此这种情况下面的这个百度一下的按钮只能先通过ID来定位

改正后的代码:
a1.find_element(By.CLASS_NAME,'s_ipt').send_keys('周杰伦年轻')#改用CLASS_NAME定位,value值为s_ipt
a1.find_element(By.ID,'su').click()#因class值有空格,只能用id定位

再次运行结果正确

例2:实现哔站番剧按钮点击

因为CLASS实质就是分类,有很多不同的元素都共用一个CLASS值,所以需要使用切片来实现,如与番剧同类型的国创、综艺、动画、电影按钮的class值都是channel-link

如下图搜索得到了有和番剧这个按钮一样的class值的一共有38个元素,因此不能用class唯一定位,想定位还需要借助切片来实现

下面以这个只有两个相同类别的热门按钮为例 ,如下,class值为channel-icons__item

 热门这个按钮的切片下标为1

代码实现: 

上面这一段代码和最上面的前置代码一样,改动的地方为用a1启动浏览器打开的指定网址改为了bilibili的网址:

哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

from selenium import webdriver # 操作浏览器
from selenium.webdriver.chrome.options import Options # 设置谷歌浏览器
from  selenium.webdriver.chrome.service import Service # 管理驱动
from  selenium.webdriver.common.by import By#在元素定位里面需要定位的类型
import time
#设置+启动浏览器
def set_lauch():#01创建一个用于设置浏览器的对象q1q1 = Options()#禁用沙箱-增加兼容性q1.add_argument('--no-sandbox')#保持浏览器打开(默认代码执行完自动关闭)q1.add_experimental_option('detach', True)#02创建浏览器a1并启动浏览器a1 = webdriver.Chrome(service=Service('chromedriver.exe'), options=q1)#return用于接收return a1a1 = set_lauch()
#打开指定网址
url = 'https://www.bilibili.com'
a1.get(url)
#改方法为find_elements因为同样的class值的元素有两个
a1.find_elements(By.CLASS_NAME,'channel-icons__item')[1].click()
结果:

如下图所示,打开了哔站并点击进入了热门专栏

总结 class的不足

1)class值不能有空格否则报错

2)class值重复有很多,需要切片[0]、[1]等下标定位

3)class值有很多网站是随机的

4--TAG_NAME

标签名字,查找尖括号开头<标签名字>,元素代码里面基本都有tag而且不唯一

如下图搜索得到了标签tag的value值为input的一共有17个元素,因此不能用input唯一定位,想定位还需要借助切片来实现,如下图百度的输入框的标签切片下标为7

代码实现:

a1 = set_lauch()
#打开指定网址--百度
url = 'https://www.baidu.com'
a1.get(url)
#利用标签定位
a1.find_elements(By.TAG_NAME, 'input')[7].send_keys('周杰伦年轻')

结果: 成功在输入框搜索词条‘周杰伦年轻’

特点:

重复标的名字特别多,需要切片处理

如查找超链接<a>开头的标签,如下图一共有68个,说明百度首页的超链接超级多

例:点击百度新闻这个链接

如下图切片下标为3

代码:
#利用标签定位--超链接
a1.find_elements(By.TAG_NAME, 'a')[3].click()
结果:

成功进入百度新闻页面

此方式使用不多,要看具体情况

5--LINK_NAME(精准)

默认搜索上面tag标签的一个小分类即<a>链接标签,通过<a>标签的文本内容精准的找到这个元素

例:标签a的文本内容为‘新闻’的元素

百度页面只有唯一一个符合元素,所以查找时使用的方法是find_element而不是复数elements形式

代码:
#利用链接文本定位--通过精准链接文本找到元素
a1.find_element(By.LINK_TEXT, '新闻').click()
结果:

有重复的a标签时需要使用切片定位

6--PARTIAL_LINK_TEXT(模糊)

部分链接文本,与LINK_TEXT类似,只找<a>链接标签,是LINK_TEXT的进一步改进

LINK_TEXT是精准链接文本定位,链接文本中一旦有一个元素不匹配就会定位失败;而PARTIAL_LINK_TEXT是模糊链接文本定位,只要有一个字或以上匹配就可以匹配成功,如本要匹配‘地图’,但使用PARTIAL_LINK_TEXT可以只在匹配文本中写一个字‘地’

例:打开百度地图这个标签

代码:

如下图只输入一个‘地’就可对链接文本‘地图’进行定位

#利用模糊链接文本定位--通过模糊匹配文本找到元素
a1.find_element(By.PARTIAL_LINK_TEXT, '地').click()
结果:

7--CSS_SELECTOR(样式选择器)

多功能方式的定位,综合上面几种方式综合定位

语法:

1)id定位--要在id的value值前统一加一个‘#’号
例:输入框输入‘周杰伦年轻’--#id定位
 代码:
#利用CSS样式选择器--新value=#+id
a1.find_element(By.CSS_SELECTOR, '#kw').send_keys('周杰伦年轻')
结果:

2)class定位--要在class的value值前统一加上'.'
例:输入框输入‘周杰伦年轻’-- .class定位
代码:
#class值前加'.'
a1.find_element(By.CSS_SELECTOR, '.s_ipt').send_keys('周杰伦年轻')
结果:

3)标签头定位--value前不加修饰符

标签符有多个,使用切片下标指定

例:输入框输入‘周杰伦年轻’-- 标签符Input定位

如下图切片下标为7

代码:
#<标签头>
a1.find_elements(By.CSS_SELECTOR, 'input')[7].send_keys('周杰伦年轻')
结果:

4)通过任意类型定位 [任意类型名="value值"]
例:还是百度搜索框输入--任意类型之autocomplete

 代码:
#语法:[任意类型名="value值"]
a1.find_element(By.CSS_SELECTOR, '[autocomplete="off"]').send_keys('周杰伦年轻')
结果:

5)通过任意类型模糊定位 [任意类型名*="value模糊值"] 
代码:

如下面的ff就是off的模糊值

#语法:[任意类型名*="value模糊值"]
a1.find_element(By.CSS_SELECTOR, '[autocomplete*="ff"]').send_keys('周杰伦年轻')
结果:

6)通过任意类型模糊定位 [任意类型名^="value开头值"]  
 代码:

如下面的of就是off的开头值

#语法:[任意类型名^="value开头值"]
a1.find_element(By.CSS_SELECTOR, '[autocomplete^="of"]').send_keys('周杰伦年轻')
结果:

7)通过任意类型模糊定位 [任意类型名$="value结尾值"] 
  代码:

如下面的ff就是off的开头值

#语法:[任意类型名$="value结尾值"]
a1.find_element(By.CSS_SELECTOR, '[autocomplete$="ff"]').send_keys('周杰伦年轻')
结果:

8)最简单的定位方式--谷歌提示复制

右键元素控制台元素具体位置->点击复制->后面出现多种复制方式->点击selector,谷歌直接给出可以直接定位这个元素的具体值(不同元素对应不同类型)

直接粘贴到‘’代表value值的单引号框中如下面阴影部分即为粘贴尽量的谷歌提供的复制

谷歌浏览器的意思就是靠这个就可以直接定位输入框

例:复制图片的value
代码:
a1.find_element(By.CSS_SELECTOR, '#s-top-left > a:nth-child(6)').click()
结果:

唯一不足:

有的标签值有可能很长

所以这个方法是实际操作中最常用的(经典前面白学,不过学了也能加深印象的)

8--XPATH

XPATH是通过属性加路径定位

1)复制xpath

同上面复制的方式,右击元素具体html部分,点击复制,点击复制xpath

 代码:
a1.find_element(By.XPATH,'//*[@id="kw"]').send_keys('周杰伦年轻')
结果:

 2)复制完整xpath

和上面一样的方法找,区别是最后选择的是最下面的哪个完整xpath

代码:

不加属性,加上完整路径

a1.find_element(By.XPATH,'/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input').send_keys('周杰伦年轻')
优点:

因为属性的值有可能是随机的,所以为了保险期间内,用这个完整路径,不通过属性定位,所以避免了因为属性值随机造成的定位不到

相关文章:

Selenium Web自动化测试学习笔记(二)--八大元素定位

前置设置及代码 目录结构如下&#xff0c;将驱动器chromedriver.exe复制粘贴到此目录下&#xff0c;具体环境配置参考笔记一&#xff1a; Selenium Web自动化测试学习笔记&#xff08;一&#xff09;-CSDN博客 首先和笔记&#xff08;一&#xff09;一样导入一些包用于设置谷…...

如何设置飞书多维表格,可以在扣子平台上使用

扣子可以链接到飞书多维表格&#xff0c;但很多人不知道具体如何操作&#xff0c;今天给大家分享下操作流程。 大家好&#xff0c;我是涛涛&#xff0c;欢迎来到我的空间。因为需要管理员审核&#xff0c;所以最好有管理员的手机就在旁边方便操作。 (一) 进入应用中心 https…...

C++初阶-string类的简单应用

目录 1.仅仅反转字母 2.字符串中第一个唯一字符 3.字符串最后一个单词的长度 4.验证回文串 5.字符串相加 6.总结 1.仅仅反转字母 题目链接&#xff1a;https://leetcode.cn/problems/reverse-only-letters/description/ 在数据结构中我们学了一种方法叫做前后指针法&…...

企业数字化转型第二课:接受不完美(1/2)

一.引言 先看一组中国企业数字化转型相关的数据&#xff1a; 战略认知层面&#xff1a;92%中国企业将数字化纳入战略核心&#xff08;麦肯锡2023&#xff09;执行困境层面&#xff1a;63%企业转型首年遭遇重大挫折&#xff08;BCG 2024追踪&#xff09;价值释放周期&#xff1…...

【MCP】function call与mcp若干问题整理

前言&#xff1a;大模型里agent 的 funcation call 是什么概念 在大模型中&#xff0c;Agent是一个能够理解目标、进行自主规划&#xff0c;并利用可用工具&#xff08;包括Function Call&#xff09;来执行任务以达成目标的系统或程序。Function Call是大型语言模型提供的一项…...

QT聊天项目DAY09

1. 安装Redis 直接从老师的网盘下载 链接: https://pan.baidu.com/s/1v_foHZLvBeJQMePSGnp4Ow?pwdyid3 提取码: yid3 启动Redis服务看一下&#xff0c;启动成功了 .\redis-server.exe .\redis.windows.conf 启动客户端看一下 2. 配置redis库&#xff0c;调用API 编译一下 …...

JAVA八股文

一、JAVA基础 1.面向对象&#xff1a; 面向对象编程是一种以对象为核心的编程&#xff0c;通过封装、继承、多态和抽象管理代码。 1.封装&#xff1a;将数据&#xff08;属性&#xff09;和行为&#xff08;方法&#xff09;绑定在一个对象中&#xff0c;隐藏内部细节&#…...

『深夜_MySQL』数据库操作 字符集与检验规则

2.库的操作 2.1 创建数据库 语法&#xff1a; CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification]….]create_spcification:[DEFAULT] CHARACTER SET charset_nam[DEFAULT] COLLATE collation_name说明&#xff1a; 大写的表示关键字 …...

1688拍立淘搜索相似商品API接口概述,json数据示例参考

1688拍立淘搜索相似商品API接口概述 1688拍立淘是阿里巴巴1688平台提供的以图搜图功能&#xff0c;允许开发者通过上传商品图片或图片URL&#xff0c;快速检索1688平台上的相似商品。该接口基于图像识别技术&#xff0c;结合1688的海量商品库&#xff0c;为商家、采购商或开发…...

使用 Java 11 的 HttpClient 处理 RESTful Web 服务

在现代 Web 开发中,与 RESTful Web 服务交互是一项核心任务。Java 作为一种广泛使用的编程语言,提供了多种处理 HTTP 请求的方法。在 Java 11 之前,开发者通常使用 HttpURLConnection 或第三方库(如 Apache HttpClient)。然而,这些方法要么过于底层,要么需要额外依赖。J…...

学习笔记:黑马程序员JavaWeb开发教程(2025.3.30)

11.6 案例-文件上传-阿里云OSS-集成 从程序中获取URL给前端&#xff0c;前端显示图片 拿到URL&#xff0c;但是在浏览器里面是直接下载&#xff0c;展示可以使用html中的<image>标签 Spring环境下&#xff0c;不建议再去new对象&#xff0c;将其交给IOC容器管理&#xff…...

【MySQL】-- 联合查询

文章目录 1. 简介1.1 为什么要使用联合查询1.2 多表联合查询时MySQL内部是如何进行计算的 2. 内连接2.1 语法2.2 示例 3. 外连接3.1 语法3.2 示例 4. 自连接4.1 应用场景4.2 示例4.3 表连接练习 5. 子查询5.1 语法5.2 单行子查询5.3 多行子查询5.4 多列子查询5.5 在from 子句中…...

《C++ Templates》:有关const、引用、指针的一些函数模板实参推导的例子

1.T按值传递 最简单的模板例子&#xff1a; template<typename T> void func(T x) {std::cout << typeid(T).name() << std::endl;x 20;cout << x; } 这种情况下&#xff0c;T永远不会被推导成带顶层const或引用的类型 【顶层const即变量本身不能…...

【算法】随机快速排序和随机选择算法

文章目录 1、随机快速排序1.1 什么是随机快排1.2 随机快排的好处 2、随机选择算法 前言&#xff1a; 快速排序就是每次划分前&#xff0c;通过一种方法将一个基准值的位置确定好&#xff0c;再进入不同的部分重复相同的工作以此确定好每个值的位置以达到有序。如果你之前并不了…...

si551x时钟芯片linux下调试总结

目录 前言一、依赖文档、工具二、让芯片工作的流程三、以上步骤的SOC下代码实现 前言 本文总结调试SKYWORKS芯片厂商Si5512时钟芯片时的笔记&#xff0c;基于linux5.10.xxx内核&#xff0c;在arm64架构的SOC上验证&#xff1b; 一、依赖文档、工具 文档名说明下载链接Si5518…...

5.6-DAE实现

解决问题&#xff1a; 随机缺失​​&#xff08;实验室指标未检测&#xff09;​​系统性噪声​​&#xff08;设备测量误差&#xff09;​​类别不平衡​​&#xff08;健康/患病人群比例悬殊&#xff09; 思路&#xff1a;引入可控噪声 → 重建原始数据 实现步骤 ​​(1)…...

MCU怎么运行深度学习模型

Gitee仓库 git clone https://gitee.com/banana-peel-x/freedom-learn.git项目场景&#xff1a; 解决面试时遗留的问题&#xff0c;面试官提了两个问题&#xff1a;1.单片机能跑深度学习的模型吗&#xff1f; 2.为什么FreeRTOS要采用SVC去触发第一个任务&#xff0c;只用Pend…...

背单词软件开发英语app开发,超级单词表开发,河南数匠软件开发

在数字化教育浪潮席卷全球的当下&#xff0c;英语教育行业面临着教学模式创新与教学效率提升的双重挑战。如何借助技术力量&#xff0c;为学生提供更优质、更高效的英语学习体验&#xff0c;成为众多英语教育机构亟待解决的问题。河南数匠软件开发有限公司&#xff0c;作为专注…...

AI视觉质检的落地困境与突破路径

摘要 人工智能&#xff08;AI&#xff09;视觉质检技术凭借其在提升效率、降低成本和优化质量控制方面的巨大潜力&#xff0c;正成为现代制造业转型升级的关键驱动力。然而&#xff0c;尽管前景广阔&#xff0c;AI视觉质检在实际落地过程中仍面临诸多严峻挑战&#xff0c;主要…...

检测内存条好坏有工具,推荐几款内存检测工具

检测内存条的好坏其实很重要&#xff0c;这直接就关系到计算机是不是能够稳定的运行&#xff0c;也有一部分人就会关注内存检测的工具。你应该如何来选择的&#xff0c;不如看一下以下的这几个。 MemTest86是一个比较受到大家喜欢的内存检测工具&#xff0c;会支持各种类型&…...

认识tomcat(了解)

启动 1. windows版本 解压后&#xff0c;就能用&#xff0c;启动&#xff0c;是bin路径下的startup.bat , 关闭是ctrl C . 启动后&#xff0c;可以访问 http://127.0.0.1:8080。为什么是8080&#xff0c;因为如下这个配置文件 部署 将项目放置到webapps目录下&#xff0c;即…...

[20250507] AI边缘计算开发板行业调研报告 ​​(2024年最新版)​

[20250507] AI边缘计算开发板行业调研报告 ​​(2024年最新版&#xff09;​ 一、行业背景​​ 随着物联网设备激增与AI模型轻量化&#xff0c;边缘计算成为AI落地核心场景。AI边缘计算开发板&#xff08;Edge AI Board&#xff09;作为硬件载体&#xff0c;需满足​​低延迟…...

前端实现文件下载

目录 1.说明 2.示例--excel 3.示例--csv 1.说明 在开发中经常会出现下载csv或者excel文件&#xff0c;可以通过后端下载&#xff0c;也可以通过前端下载&#xff0c;如果在前端页面中可以直接获取到要下载的数据&#xff0c;可以通过前端下载的方式&#xff0c;更加高效便捷…...

深入理解Redis缓存与数据库不一致问题及其解决方案

什么是Redis缓存数据与数据库不一致 在现代应用中&#xff0c;Redis作为一种高速缓存系统&#xff0c;被广泛用于提升系统性能。Redis缓存数据与数据库不一致&#xff0c;指的是缓存中的数据与数据库中的数据不匹配&#xff0c;导致读取缓存时得到的不是最新或正确的数据。 R…...

六级阅读———2024.12卷一 仔细阅读2

文章 An awakening has been taking place in the physical world against the beauty model that has been dictated to us for years.But in the digital arena,social media determines what is considered beautiful.(51) The two opposing struggles are taking place i…...

【Python】字符串 转为 JSON 格式的注意事项

1. 字符串转json 我们如果使用sql存储json格式&#xff0c;要将json转为字符串才能转。 存入sql前&#xff0c;字典格式转json字符串可以用这个&#xff1a; Table_ [{"id": 1,"name": "Alice","task": 25,"work": &quo…...

镜像和容器的管理

一、镜像的管理 获取镜像并生成相关容器 # 拉取镜像 docker pull alpine # 默认是latest&#xff0c;也就是最新版本&#xff0c;也可指定版本&#xff08;在镜像名后边加“:版本号”&#xff09; # 或者 # 从主机中导入镜像到docker中 docker image load -i /test#生成容器 …...

Scrapy框架之Scrapyd部署及Gerapy分布式爬虫管理框架的使用

Scrapyd Scrapyd 是一个用于部署和运行 Scrapy 爬虫的服务器。 1.安装 Scrapyd服务端&#xff1a;pip install scrapyd Scrapyd客户端&#xff1a;pip install scrapyd-client 运行scrapyd 浏览器输入http://127.0.0.1:6800/ 2.配置 安装完成后&#xff0c;需要对 Scra…...

【uniapp】errMsg: “navigateTo:fail timeout“

项目场景&#xff1a; 在点击编辑的时候不能跳转的编辑的页面&#xff0c;然后直接报错errMsg: "navigateTo:fail timeout" 解决方案&#xff1a; 看看是否是出现了盒子的冒泡事件导致了两次调用跳转路径 tap.stop...

亿级流量系统架构设计与实战(五)

高并发写场景方案 1 : 数据分片之数据库分库分表 数据分片思想:可以将资源拆开分为多份,拆分的多份小的资源一起构成完整资源。 分库和分表 分库: 分库指的是将数据库拆分为多个小数据库,原来存储在单个数据库中的数据被分开存储到各个小数据库中。 分表:分表指的是将…...

机器学习——逻辑回归ROC练习

一、 题目要求&#xff1a; 给定以下二分类模型的预测结果&#xff0c;手动绘制ROC曲线并计算AUC值&#xff1a; y_true [0, 1, 0, 1, 0, 1] # 真实标签&#xff08;0负类&#xff0c;1正类&#xff09; y_score [0.2, 0.7, 0.3, 0.6, 0.1, 0.8] # 模型预测得分 代码展示…...

Kubernetes学习笔记

云计算三层模型 IaaS&#xff08;基础设施即服务&#xff09;&#xff1a;提供虚拟化计算资源&#xff08;如虚拟机、存储、网络&#xff09;。 PaaS&#xff08;平台即服务&#xff09;&#xff1a;提供应用开发和部署环境&#xff08;如数据库、中间件、运行时&#xff09;。…...

【DB2】DB2启动失败报错SQL1042C

在本地某次启动db2时报错SQL1042C&#xff0c;具体报错如下 [db2inst1standby ~]$ db2start 05/07/2025 16:32:53 0 0 SQL1042C An unexpected system error occurred. SQL1032N No start database manager command was issued. SQLSTATE57019在网上百度到说是需要…...

Redis相关命令详解与原理

Redis是什么&#xff1f; Redis 是Remote Dictionary Server(Redis) 的缩写&#xff0c;是一个使用 C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型的Key-Value数据库&#xff0c;并提供多种语言的API。 它是一种 NoSQL&#xff08;not-only sql&#xff0c;…...

[吾爱出品][Windows] 产品销售管理系统2.0

[Windows] 产品销售管理系统 链接&#xff1a;https://pan.xunlei.com/s/VOPej1bHMRCHy2np9w3TBOyKA1?pwdgjy7# 使用方法&#xff1a;1、先设置一下图片保存路径 2、维护产品。客户等基础信息。例如&#xff1a;销售类型&#xff1a;一次性 销售编码&#xff1a;RCX。 3、销…...

基于OpenTelemetry的分布式链路追踪Trace‌实现(PHP篇)

目录 引言一、OpenTelemetry是一套可观测性标准协议二、分布式追踪&#xff08;‌Trace‌&#xff09;是OpenTelemetry的核心功能之一三、OpenTelemetry的架构原理四、OpenTelemetry的分布式追踪&#xff08;‌Trace‌&#xff09;实践1、准备PHP环境2、下载SDK3、编写实例代码…...

电气工程中漏源电压Vds的平台电压是什么?

在MOSFET&#xff08;金属 - 氧化物 - 半导体场效应晶体管&#xff09;中&#xff0c;漏源电压 VDS 的平台电压是其输出特性曲线中的一个关键概念。 定义 在MOSFET的输出特性曲线里&#xff0c;当器件工作于饱和区时&#xff0c;漏源电流ID对漏源电压VDS​的变化不太敏感&…...

第35周Zookkeeper+Dubbo Dubbo

Dubbo 详解 一、Dubbo 是什么 官网与定义 Dubbo 是一款高性能、轻量级的开源服务框架&#xff0c;其官网为 double.apache.org&#xff0c;提供中文版本&#xff08;网址含 “zh”&#xff09;。 核心能力 Dubbo 具备六大核心能力&#xff1a; 面向接口代理的高性能 RPC …...

allegro出gerber时,单击Artwork并没有弹窗的问题

使用allegro出gerber时&#xff0c;有时点击 Artwork图标并未如愿以偿的弹出窗口。。。 可按下面尝试恢复&#xff0c;注&#xff0c;删除前可先备份该两支文件。。。 看时间戳&#xff0c;删除最近的下面标红两支文件即可。...

【神经网络与深度学习】VAE 中的先验分布指的是什么

VAE 中的先验分布是什么&#xff1f; 在 变分自编码器&#xff08;VAE&#xff09; 中&#xff0c;先验分布指的是对潜在空间中随机变量的概率分布假设。通常情况下&#xff0c;VAE 设定潜在变量服从 标准正态分布 ( N(0, I) )&#xff0c;其中 ( 0 ) 代表均值为零的向量&…...

信息革命对经济、货币体系及权力结构的颠覆性影响

一、地理束缚的瓦解与权力转移 生产要素去实体化 思想、知识与数据取代实物资产成为核心价值来源&#xff0c;光速传播特性使经济活动突破物理边界。跨境远程医疗、跨国虚拟企业等新形态挑战传统管辖权概念&#xff0c;政府难以通过地域垄断攫取超额收益。 管辖权竞争白热化 …...

leetcode文件级全局变量会在测试用例之间相互影响

背景&#xff1a;在做Leetcode 743使用文件级全局变量idx&#xff0c;不同用例之间idx一直在。参考leetcode的文档&#xff1a; 解决办法&#xff1a;我选择在核心函数的开头&#xff0c;加入初始化代码&#xff08;每次用例调用都会重新初始化至原始状态&#xff09;...

如何查看电脑显卡配置参数 一文读懂

显卡是电脑的重要硬件之一&#xff0c;尤其对于游戏玩家、设计师、视频编辑等用户来说&#xff0c;显卡的性能直接影响电脑的使用体验。如果您想知道电脑的显卡信息&#xff0c;或者打算升级显卡&#xff0c;那么了解如何查看显卡配置是非常必要的。本文将为您提供多种简单实用…...

获取嵌入(Embeddings)的方法与实践

获取嵌入(Embeddings)的方法与实践 摘要 本文详细介绍了获取嵌入(Embeddings)的多种方法&#xff0c;包括降维技术和神经网络训练方法。通过具体的实例和可视化展示&#xff0c;我们将了解如何将高维数据转换为有意义的低维表示&#xff0c;以及如何根据具体任务需求选择合适…...

【国产化】在银河麒麟ARM环境下离线安装docker

1、前言 采用离线安装的方式。 关于离线安装的方式官网有介绍&#xff0c;但是说的很简单&#xff0c;网址&#xff1a;Binaries | Docker Docs 官网介绍的有几种主流linux系统的安装方式&#xff0c;但是没有kylin的&#xff0c;所以在此记录一下。 在安装过程中也遇到了些…...

基于大模型的子宫平滑肌瘤全周期预测与诊疗方案研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 二、大模型技术原理与应用现状 2.1 大模型概述 2.2 相关技术原理 2.3 医疗领域应用现状 三、子宫平滑肌瘤术前预测 3.1 预测指标与数据收集 3.2 大模型预测模型构建 3.3 预测结果分析与应用 四、子宫平滑肌…...

SpringBoot 集成 Ehcache 实现本地缓存

SpringBoot 集成 Ehcache 实现本地缓存_springboot ehcache-CSDN博客...

linux下MySql的安装与配置

一键三联&#xff0c;把mysql的安装与配置也写了&#xff0c;供各位参考。 --------------------------------------MySql的安装与配置-------------------------------------- 1 将下载的 压缩包解压到指定目录 tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 卸载…...

普通IT的股票交易成长史--20250507晚复盘

声明&#xff1a;本文章的内容只是自己学习的总结&#xff0c;不构成投资建议。价格行为理论学习可参考简介中的几位&#xff0c;感谢他们的无私奉献。 送给自己的话&#xff1a; 仓位就是生命&#xff0c;绝对不能满仓&#xff01;&#xff01;&#xff01;&#xff01;&…...

准确---Typora配置Gitee图床并实现自动图片上传

下载地址&#xff1a;https://github.com/Molunerfinn/picgo/releases 安装就直接下一步&#xff0c;下一步就行 安装完以后然后回到Typora上偏好设置指定一下路径 默认是 C:\Program Files\PicGo\PicGo.exe 并且还需要选择规则 接下来就需要去PicGo上面配置了 配置之前需要去…...