自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HYSliuliuliu的博客

一起学习

  • 博客(292)
  • 收藏
  • 关注

原创 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件org.apache.catalina.core.standardContext.startInternal

一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件org.apache.catalina.core.standardContext.startInternal

2023-12-08 16:58:46 10397

原创 mongodb报错: error while loading shared libraries: libnetsnmpmibs.so.31: cannot open shared object fil

在下载mongodb时,发生错误:error while loading shared libraries: libnetsnmpmibs.so.31: cannot open shared object file: No such file or directory下载一个低版本的MongoDB就行了。

2023-12-06 17:44:03 9510

原创 ERROR SparkContext: Error initializing SparkContext.org.apache.spark.SparkException:无效的 Spark URL:

ERROR SparkContext: Error initializing SparkContext.org.apache.spark.SparkException:无效的 Spark URL:在idea中用scala编写spark的WordCount的案例时,老是报错,scala能运行其他程序scala没有问题,依赖按照视频教程也成功下载,Maven仓库也下载的巴巴适适,报的错误太多了,我节选有价值的错误信息:

2023-12-05 14:30:41 10243

原创 已解决:虚拟机集群xsehll连接不上

hadoop102能连上,hadoop103、hadoop104无法连接,以前都能连上,今天突然就连不上了。

2023-12-04 09:06:57 9762

原创 hdfsClient_java对hdfs进行上传、下载、删除、移动、打印文件信息尚硅谷大海哥

Java可以通过Hadoop提供的HDFS Java API来控制HDFS。通过HDFS Java API,可以实现对HDFS的文件操作,包括文件的创建、读取、写入、删除等操作。具体来说,Java可以通过HDFS Java API来创建一个HDFS文件系统对象,然后使用该对象来进行文件的操作。例如,可以使用FileSystem类的create()方法来创建一个新的文件,使用open()方法来打开一个文件进行读取,使用write()方法来向文件中写入数据,使用delete()方法来删除一个文件等。

2023-11-20 23:19:21 10244

原创 python爬取穷游网景点评论

同程的评论数据还是比较好爬取,不像大众点评需要你登录验证杂七杂八的,只需要找准你想要爬取的网页链接就能拿到想要的文本数据。这里就不得不提一下爬取过程中遇到的问题,就是关于无头模式和有头模式,首先介绍一下什么是无头模式和有头模式:无头模式和有头模式是指网络爬虫在执行过程中是否显示浏览器的界面。有头模式是指网络爬虫在执行过程中会显示浏览器的界面,可以看到爬取过程中的页面加载、点击等操作,可以进行人工干预和调试。有头模式一般用于开发和调试阶段,便于观察爬虫的执行情况。

2023-11-17 21:56:40 10709 1

原创 已解决:java.net.BindException: 地址已在使用

解决zookeeper报错:java.net.BindException: 地址已在使用,是因为端口被占用。显示Starting zookeeper ... STARTED,jps没有QuorumPeerMain进程。

2023-11-12 16:35:01 12447 1

原创 zookeeper报错java.io.IOException: Cannot write to data directory /opt/module/zookeeper-3.4.10/zkData/

解决java.io.IOException:Cannot write to data directory /opt/module/zookeeper-3.4.10/zkData/version-2的问题。

2023-11-11 13:38:05 10265

原创 已解决:rm: 无法删除“/opt/module/zookeeper-3.4.10/zkData/zookeeper_server.pid“: 权限不够

ZooKeeper JMX enabled by defaultUsing config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfgStopping zookeeper .../opt/module/zookeeper-3.4.10/bin/zkServer.sh: 不允许的操作rm: 无法删除"/opt/module/zookeeper-3.4.10/zkData/zookeeper_server.pid: 权限不够STOPPED

2023-11-10 00:02:29 11828

原创 opencv项目_人脸识别_LBPH_python

Looul Biay Patem Hstogam简称LBPH,翻译过来就是局部二值模式直方图,这是一种基于局部二值模式算法,善于捕获局部纹理特征。开发者需要通过三个方法来完成人脸识别操作。(I)通过0v2 Ree. LERCRCe. Ctato方法创建LBPH人脸识别器,其语法如下,(2)创建完识别器对象之后,需要通过对象的train() 方法来训练识别器。建议每个人都给出2张以上的照片作为训练样本。

2023-11-02 17:08:42 11418 4

原创 python爬取旅游网站景点评论数据_词云

爬取同程旅行的景点评论数据,使用selenium爬取edge浏览器的网页文本数据。

2023-10-29 12:50:42 12043 11

原创 hadoop集群安装_已搭建好_可直接使用

已经搭建好的三台hadoop集群,下载可直接使用的hadoop完全分布式集群,环境搭建、集群配置已完成。那么此刻hadoop集群成功搭建完毕,更加具体的使用方法比如“分发脚本”、“集群群关”、“查看虚拟机状态”等操作自行观看尚硅谷大海哥视频,或者下方分享的hadoop集群搭建word。

2023-10-23 09:57:28 10687 1

原创 opencv计算植物叶面积_叶直径_叶周长_python

利用python自带的opencv库来计算植物叶片的叶面积、叶直径和叶周长,拍摄图片就可以直接得到真实的叶面积、叶直径和叶周长。

2023-10-22 20:00:58 10732 7

原创 爬取百度贴吧的图片和文本_孙笑川吧图片_明星吧特性分析

百度贴吧相信大家都不陌生,尤其是里面的孙笑川吧,各个都是人才,说话又好听,我超喜欢这里的,加之里面的图片都是一些让人难绷的叼图,所以我就想把孙笑川吧的图片给爬取出来,非常有意思。另外,各个明星都有各个明星的特点,他们的贴吧中粉丝都在讨论不同的东西,比如“周杰伦吧”里面就总有"jay""七里香"等字眼,”成龙吧“里面就经常出现"大哥""家具"这些词条,为了分析每个明星的粉丝们都在讨论什么,所以我把贴吧里的文字也爬取了出来。

2023-10-20 16:31:30 9302

原创 基于单链表的学生成绩管理系统_增删改查_python_tkinter图形化界面

顺序表、二叉树、栈等等数据结构都有各自的优点和缺点,这里不多赘述,本项目的所有操作都是以单链表为基础编写的增删改查,但是实际上单链表只是插入和删除的效率高,如果大家追求完美的话,可以将源码中的查找函数以哈希表的数据结构进行操作。这么一说是不是瞬间恍然大悟,图形化界面呼之欲出,再学一下窗口和程序执行的函数,你的图形化界面就出来了。那么最后项目的源代码和一些解释文件放在百度网盘中了,需要的可以自取。tkinter.Button()是按钮绘制和运行函数的版块。缺点:链表不是随机存储结构,查找元素开销大O(n).

2023-10-18 23:42:39 10328 7

原创 xmind的13个快捷方式

5. 插入主题之前 Shift+Enter键。10. 粘贴 Shift +Insert。1.新建导图 Ctrl+shift+N。11. 剪切 Shift+Delete。7. 放大导图 “Ctrl”+“+”8. 缩小导图 “Ctrl”+“-”9. 复制 Ctrl+Insert。13. 保存 “Ctrl”+“S”4. 插入主题 Enter键。3.插入图片 Ctrl+i。6. 插入子主题 Tab键。2.编辑文字 空格键。

2024-05-07 15:21:07 163

原创 用户登陆界面怎么去测试

进行这些测试时,可以使用各种工具和方法,包括手动测试、自动化测试工具(如Selenium)、性能测试工具(如JMeter)等。测试过程中应详细记录测试用例和测试结果,确保所有关键功能都已覆盖,并且问题得到及时的修复。- 验证输入字段是否对输入类型做了适当的限制,如密码字段不显示输入的字符。- 如果登录界面与后端服务交互,需要测试接口的响应时间和数据格式是否正确。- 验证输入错误的用户名或密码时,系统能否给出适当的错误提示。- 测试登录页面的加载时间,确保它在可接受的范围内。

2024-05-07 08:59:00 142 1

原创 tcp三次握手四次挥手,少一次有什么影响?

如果缺少第二次挥手,发起终止的一方将不知道对方是否已经知晓了它的终止请求,可能会导致它重复发送FIN包。- 第四次挥手:最初发送FIN的一方收到这个FIN后,发送一个ACK标志的数据包作为应答,完成连接的终止。- 第三次握手:客户端收到这个应答后,再发送一个带有ACK(确认应答)标志的数据包,完成连接的建立。- 如果缺少第三次或第四次挥手,连接的终止将不会完全进行,可能会导致资源的泄漏,如端口没有被释放。- 如果缺少第三次握手,服务端将无法确认客户端是否收到了它的应答,因此也无法完成连接的建立。

2024-05-07 08:47:30 583

原创 常见响应状态码

HTTP状态码是服务器和客户端之间交换信息时使用的短数字代码,它们指示了请求的状态。4. 400 Bad Request:由于客户端的错误(例如语法错误),服务器无法理解该请求。- 4xx(客户端错误状态码):客户端的请求中包含语法错误或无法完成请求。2. 201 Created:请求已成功处理,并且创建了新的资源。- 5xx(服务器错误状态码):服务器在处理请求时发生错误。- 2xx(成功状态码):表示请求已成功接收、理解和接受。1. 200 OK:请求成功,服务器返回了请求的资源。

2024-05-07 08:47:19 185

原创 从输入url网址到客户端显示发生了什么

如果请求的是静态资源(如HTML页面、图片、CSS样式表、JavaScript文件等),服务器通常会直接从文件系统中读取并发送。- 如果HTML中包含其他资源(如图片、CSS、JavaScript文件)的链接,浏览器会为这些资源发起额外的HTTP请求。- 服务器接收到请求后,根据请求类型进行处理,这通常涉及到服务器端的应用程序,如PHP、Python、Java等。- 浏览器向服务器发送一个HTTP请求,请求可以是GET(获取数据)、POST(提交数据)等。- 浏览器首先检查域名是否在本地缓存中。

2024-05-07 08:46:58 208

原创 put和post的区别

**PUT** 通常用于更新资源。- **POST** 通常用于创建资源。当你想要在服务器上创建一个新的资源,但你不知道它将拥有的ID时,你会使用POST。- 传统上,PUT请求通常有更严格的数据大小限制,因为它通常用于更新资源,而不是创建。- **PUT** 是幂等的,这意味着多次执行相同的PUT请求,资源的状态不会改变,即无论调用多少次,结果都是一样的。它们之间的主要区别在于幂等性和用途。- **POST** 不是幂等的,多次执行相同的POST请求,可能会创建多个资源,导致不同的结果。

2024-05-07 08:34:34 377

原创 登录认证的实现流程

如果用户信息验证通过,服务器会为用户创建一个会话(Session),并生成一个唯一的会话标识(如Session ID),发送给客户端。- **防止CSRF攻击**:服务器端生成并验证CSRF Token,防止跨站请求伪造攻击。- **HTTPS传输**:使用HTTPS协议来加密传输过程中的数据,防止中间人攻击。服务器接收到请求后,会取出会话标识,并验证其有效性,确认请求是否来自已认证的用户。- **会话超时机制**:为了安全,会话通常会有超时机制,超时后用户需要重新登录。

2024-05-07 08:32:16 409

原创 selenium隐式等待和显式等待

方法:WebDriverWait(driver,timeout=10, poll_frequency=0.5).until(lambda x:x.find_element_by_id("#user")).send_keys("admin")元素在第一次未找到时,元素等待设置的时长被激活,如果在设置的有效时长内找到元素,继续执行代码,如果超出设置的时长未找打元素,抛出未找到元素异常。由于电脑配置或网络原因,在查找元素时,元素代码未在第一时间内被加载出来,而抛出未找到元素异常。6.1 为什么要设置元素等待。

2024-05-06 21:35:06 316

原创 测试用例执行的结果pass_fail_block_skip

1. **测试结果状态**:通常分为“通过”、“失败”、“阻塞”和“跳过”等状态。2. **详细结果**:包括测试用例的预期结果和实际结果,便于分析测试失败的原因。4. **测试覆盖率**:测试用例执行后所覆盖的代码、功能或需求的百分比。- **失败**:测试用例执行完毕,预期结果与实际结果不一致。- **通过**:测试用例执行完毕,预期结果与实际结果一致。6. **执行环境**:执行测试用例的软件和硬件环境信息。5. **执行时间**:测试用例执行所耗费的时间。

2024-05-06 21:34:52 251

原创 selenium元素_浏览器_鼠标_键盘_等待

方法:WebDriverWait(driver,timeout=10, poll_frequency=0.5).until(lambda x:x.find_element_by_id("#user")).send_keys("admin")1. WebDriverWait(driver,timeout=10, poll_frequency=0.5).until(lambda x:x.find_element_by_id("#user"))返回的一个元素。2. 最大化浏览器;3. 设置隐式等待)

2024-05-05 21:35:11 395

原创 selenium八大元素定位方法大全

1. CSS一种标记语言,焦点:数据的样式。语法:在Xpath中,所有的属性必须使用@符号修饰 如://*[@id='id值']说明:是通过元素的标签名称来定位,标签名(查看元素时尖括号(

2024-05-05 21:35:00 301

原创 selenium浏览器常用操作

7). driver.close() # 关闭当前主窗口(主窗口:默认启动哪个界面,就是主窗口)2). driver.set_window_size(w, h) # 设置浏览器大小 单位像素。3). driver.set_window_position(x, y) # 设置浏览器位置。8). driver.quit() # 关闭由driver对象启动的所有窗口。1). driver.maximize_window() # 最大化浏览器。6). driver.refresh() # 刷新操作。

2024-05-04 23:08:19 309

原创 css定位方法详解

控制元素的显示样式,就必须先找到元素,在css标记语言中找元素使用css选择器;复制xpath:/html/body/form/div/fieldset/p[1]/input。1. [属性^='开头的字母'] # 获取指定属性以指定字母开头的元素。2. [属性$='结束的字母'] # 获取指定属性以指定字母结束的元素。3. [属性*='包含的字母'] # 获取指定属性包含指定字母的元素。提示:>与空格的区别,大于号必须为子元素,空格则不用。语法:#id 如:#passwordA。语法:[属性名=属性值]

2024-05-04 23:08:05 282

原创 phpstudy显示80端口被占用、3306端口被占用

1. 80端口被占用,使用cmd中netstat -ano查出80端口信息,看到是谁占用,把对应任务关闭即可。2. 3306端口被占用,原因是phpstudy自带的MySQL端口是3306,而电脑里自己装的MySQL端口也是3306,冲突了,在其他选项菜单中找到phpstudy设置的端口常规设置,把MySQL 的端口换一个即可。

2024-05-03 23:28:00 180

原创 unittest_po模式_v3:页面对象层

类名:使用大驼峰将模块名称抄进来,有下滑线去掉下划线。方法:根据业务需求每个操作步骤单独封装一个方法。方法名 page_XXX。v3:业务代码和页面对象进行。v3: 代码冗余量太大。

2024-05-03 23:27:45 219

原创 unittest_po模式_v2:采用unittest框架

v2:采用测试框 unittest。v2: 业务脚本与页面对象没有分开。

2024-05-02 18:31:43 110

原创 python_@classmethod装饰器

类方法与普通实例方法的区别在于,类方法的第一个参数是类本身(通常命名为`cls`),而不是类的实例。这意味着类方法可以在没有创建类的实例的情况下调用,并且可以操作类级别的属性,而不是实例级别的属性。在上面的例子中,尽管通过实例调用类方法是可行的,但这样做可能会让人混淆,因为类方法实际上并不依赖于实例的状态。类方法也可以通过类的实例调用,但这通常不是推荐的做法,因为这样做可能会让人误以为方法是在操作实例级别的数据。3. 当你的方法不需要访问实例属性时,使用类方法可以避免不必要的实例创建。

2024-05-02 18:31:34 200

原创 unittest_po模式_v1:不采用任何模式(线性模型)

这意味着测试用例可能会直接与页面上的元素进行交互,在没有采用Page Object模式的线性模型中,测试用例可能会包含大量的细节,例如元素定位器、等待逻辑和操作步骤,这些都会直接写在测试用例中。这样的测试代码可能会变得难以维护,因为任何页面的变化都可能需要修改多个测试用例。v1:不采用任何模式(线性模型)v1缺点:无法批量运行。

2024-05-01 15:01:34 10

原创 unittest_使用HTMLTestRunner生成html测试报告

2. 导包 from HTMLTestRunner import HTMLTestRunner。3. 获取报告存放文件流,并实例化HTMLTestRunner类,执行run方法。1. 复制HtmlTestRunner.py文件到指定目录。unittest_使用HTMLTestRunner生成html测试报告。目标:基于unittest框架执行生成html版报告。

2024-05-01 15:01:22 216

原创 unittest框架_用例、套件、执行、批量、固定一篇搞定!

写法2. suite = unittest.defaultTestLoader.discover("指定搜索的目录文件","指定字母开头模块文件") 【推荐】写法1. suite = unittest.TestLoader().discover("指定搜索的目录文件","指定字母开头模块文件")TestSuite: 要么添加指定的测试类中所有test开头的方法,要么添加指定测试类中指定某个test开头的方法。1. suite.addTest(类名("方法名称")) # 添加指定类中指定的测试方法。

2024-04-30 11:07:19 528

原创 selenium软件测试验证码处理

2. 设置cookie信息: driver.add_cookie({"name":"BDUSS","value":"根据实际情况编写"})1. 打开百度url driver.get("http://www.baidu.com")2. driver.add_cookies({字典}) # 设置cookie。1. driver.get_cookies() # 获取所有的cookie。3. 使用验证码识别技术 (由于现在的验证码千奇百怪,导致识别率太低)1. 去掉验证码(项目在测试环境、公司自己的项目)

2024-04-30 10:45:44 770

原创 selenium截屏代码

1. 多条用例执行失败,会产生多张图片,可以采用时间戳的形式,进去区分。%Y_%m_%d %H_%M_%S:代表,年 月 日 时 分 秒。imagepath:为图片要保存的目录地址及文件名称。上一级目录 ../test.png。strftime:将时间转为字符串函数。如: 当前目录 ./test.png。应用场景:失败截图,让错误看的更直观。

2024-04-30 10:44:01 668

原创 selenium多窗口切换

页面存在多个窗口式,seleniu默认焦点只会在主窗口上所有的元素,不切换切换窗口,无法操作除主窗口以外的窗口内元素。2. driver.window_handles # 获取当前由driver启动所有窗口句柄。1. driver.current_window_handle # 获取当前主窗口句柄。3. driver.switch_to.window(handle) # 切换窗口。5. 判断当前遍历的窗口句柄不等于当前窗口句柄。思路:获取要切换的窗口句柄,调用切换方法进行切换。3. 获取当前所有窗口句柄。

2024-04-30 10:42:59 114

原创 selenium切换表单

方法:driver.switch_to.frame("id\name\element")iframe或frame只有在主目录才有相关元素信息,不回到主目录,切换语句会报错。方法:driver.switch_to.default_content()当前主目录内没有iframe表单页面元素信息,不切换,找不到元素。1.切换frame时,可以使用name、id、iframe元素。提示:常用的frame表单有两种:frame、iframe。4.3 为什么要回到主目录。4.1 为什么要切换?四、切换frame表单。

2024-04-30 10:41:57 74

原创 selenium拖动滚动条

在selenium中没有直接提供定位滚动条组件方法,但是它提供了执行js语句方法,可以通过js语句来控制滚动条操作。如:js = "window.scrollTo(0,10000)"在web自动化中有些特殊场景,如:滚动条拉倒最底层,指定按钮才可用。方法:driver.execute_script(js)第二步:调用执行js方法,将设置js语句传入方法中。10000:上边距 -->垂直滚动条。0: 左边距 --》水平滚动条。第一步:设置操作滚动条操作语句。3.1 为什么要操作滚动条。

2024-04-30 10:40:38 116

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除