![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
我的学习笔记
文章平均质量分 64
PyAIGCMaster
高级教师,自信息课程出现在课堂上,就一直在教室内,目前已有27年了。喜欢编程,喜欢鼓励别人学习。
展开
-
mongdb数据导出为csv
【代码】mongdb数据导出为csv。原创 2024-07-23 12:11:19 · 92 阅读 · 0 评论 -
有没有一种方法Python中某一个函数的代码全部是从文本框中读进去,然后再编译可以执行的
这个例子中,`load_function_from_text`函数接收一个包含函数定义的字符串。它首先创建一个空的局部作用域字典,然后使用`compile()`函数将字符串编译成代码对象。之后,`exec()`函数被执行,将代码对象中的函数定义添加到局部作用域中。这可以通过使用`exec()`函数或`compile()`函数配合`exec()`来实现。请注意,这种方法存在安全隐患,因为`exec()`可以执行任意代码。# 使用exec执行代码对象,将函数定义放入局部作用域。# 获取并返回新定义的函数。原创 2024-07-09 16:29:44 · 634 阅读 · 0 评论 -
假期笔记1:anaconda的安装与pycharm中的引用
4.安装,双击,根据实际进行,记清安装路径。11.安装或卸载包(进入虚拟环境之后)12.pycharm中如何使用。10.查看某环境的安装包。2.打开pycharm。原创 2024-07-08 17:08:52 · 320 阅读 · 0 评论 -
geetest-cracker 和 geetest-solver 这样的库通常是用来自动化解决极验(Geetest)验证码的,但它们并不是官方提供的库,而是由社区开发者创建的,用于研究和测试目的。
【代码】geetest-cracker 和 geetest-solver 这样的库通常是用来自动化解决极验(Geetest)验证码的,但它们并不是官方提供的库,而是由社区开发者创建的,用于研究和测试目的。原创 2024-07-07 15:30:02 · 77 阅读 · 0 评论 -
某多批发信息采集并写到mongdb
page.on("popup", lambda popup_page: asyncio.create_task(self.attach_network_listeners(popup_page))) # 监听新页面弹出。{"$addToSet": {"accumulatedGoodsIds": item}}, # 使用$addToSet来累积goodsId。# good_page_infos = data_dict.get("goodsPropertyTexts") # 商品详情页。原创 2024-07-06 18:01:23 · 427 阅读 · 0 评论 -
如果在已经打开的网页里面,我点击了一个链接,这个链接在新的标签页打开,如何能得到新的标签页其返回的数据收发数据。
但是,上面的代码有一个问题,那就是它直接使用`window.open`方法在新标签页中打开链接,而这种方法并不会触发Selenium的监听,因此你不会捕捉到新标签页中的任何请求。为了真正解决这个问题,你应该使用`link.send_keys(Keys.CONTROL + '\n')`来模拟用户按Ctrl+N的行为,或者使用`Keys.CONTROL + 't'`来打开新标签页,然后在新标签页中导航到链接的目标URL。# 使用JavaScript在新标签页中打开链接。# 在新标签页中打开链接。原创 2024-07-05 12:02:49 · 526 阅读 · 0 评论 -
Selenium 监视数据收发
这里的`driver`就是一个实际的浏览器实例,由`webdriver.Chrome()`创建。当你调用`driver.get('https://www.baidu.com')`时,它会在Chrome浏览器中打开百度的网页。`webdriver.Chrome()`这行代码正是创建了一个Chrome浏览器的WebDriver实例。只要你的脚本在`driver`对象上执行操作(如导航到某个网址),那么`driver.requests`就会包含与这些操作相关的所有网络请求数据。原创 2024-07-04 19:53:38 · 436 阅读 · 0 评论 -
Selenium 扩展工具中哪些可以查看返回的各种格式的文件
在这些选项中,**Selenium Wire** 和 **Selenium with Chrome DevTools Protocol** 是更直接的用于查看JSON响应的方法。Selenium Wire的使用相对简单,因为它直接集成了WebDriver的功能,而Chrome DevTools Protocol则需要你对协议有更深的理解,并通过Selenium发送相应的命令来获取信息。由于JSON通常是HTTP响应的一部分,你可以使用Selenium Wire来捕获这些响应并解析JSON数据。原创 2024-07-04 19:40:12 · 429 阅读 · 0 评论 -
Selenium 网页操作扩展库
在这些选项中,Selenium Wire是最直接且设计用来与Selenium一起工作的库,它专门为Selenium提供了访问和修改网络请求的功能。- 如前所述,Selenium Wire是一个扩展Selenium的Python库,它利用了mitmproxy的能力来拦截和修改Selenium会话中的网络请求。- 虽然AxeCore主要是一个用于检测网页无障碍问题的工具,但它也可以被集成到Selenium中,并且能够提供一些关于页面加载和资源请求的信息。不过,它的主要焦点并不是网络请求的全面分析。原创 2024-07-04 19:36:31 · 279 阅读 · 0 评论 -
将带有 商店idr 商品信息的json导入到mongodb后,能不能根据商店id把所有商品全部提取并转为电子表格
这段脚本首先连接到MongoDB数据库,根据指定的realMallId查询商品信息,然后将查询结果转换为Pandas DataFrame,最后将DataFrame导出为Excel文件。请根据实际情况替换MONGO_URI、DATABASE_NAME、COLLECTION_NAME以及TARGET_MALL_ID的值。当您已经将包含商店ID(如realMallId)的商品信息导入MongoDB后,确实可以轻松地根据商店ID提取所有相关商品信息并转换为电子表格(例如Excel)。原创 2024-07-04 16:15:22 · 288 阅读 · 0 评论 -
某多,自动监视剪贴板信息,然后自动保存
【代码】某多,自动监视剪贴板信息,然后自动保存。原创 2024-07-04 16:05:44 · 957 阅读 · 0 评论 -
某多返回 json与电子表格的转换。
【代码】某多返回 json与电子表格的转换。原创 2024-07-04 16:04:33 · 395 阅读 · 0 评论 -
适合selenium的防自动化检测的方法
Selenium 是一个强大的自动化测试工具,能够模拟真实用户与网页的交互。遵守robots.txt: 虽然 Selenium 本身不直接处理robots.txt,但开发人员应自觉遵守其规定。处理验证码: Selenium 可以用于定位验证码元素,但验证码的识别通常需要配合OCR技术或其他服务。以上策略均可在 Selenium 中实现,但需注意合理应用,确保不会违反网站政策或法律法规。随机化请求头: 除了User-Agent,其他头部信息也可以通过类似方式动态设置。原创 2024-07-04 07:03:50 · 520 阅读 · 0 评论 -
selenium定位class中含有某段文字的方法
CSS选择器不直接支持搜索属性值中包含特定文本的功能,但您可以利用属性包含特定值的属性选择器([attribute*=value])来间接实现。要在Selenium中定位那些class属性中包含"disabled"文本的元素,您可以使用CSS选择器或者XPath。XPath提供了更精确的文本匹配功能,您可以使用XPath的contains()函数来定位那些class属性中包含特定文本的元素。这段代码会找到所有class属性中任意位置包含"PGT_disabled"字符串的元素。原创 2024-07-03 17:54:51 · 565 阅读 · 0 评论 -
selenium,在元素块下查找条件元素
【代码】selenium,在元素块下查找条件元素。原创 2024-07-03 17:08:50 · 272 阅读 · 0 评论 -
edge如何找包已经安装的插件。
我的目录:C:\Users\Administrator\AppData\Local\Microsoft\Edge\User Data\Default\Extensions。多次操作选择到ID的目录,再向下。找到相应地址,将其复制出来。py.引用代码如下。原创 2024-06-19 17:01:43 · 372 阅读 · 0 评论 -
Selenium 定位编辑框有span
当使用Selenium进行网页自动化测试时,定位一个包含`span`元素的编辑框可能会有些棘手,因为`span`通常用于对其他HTML元素进行分组或应用样式,而不一定是真正的可输入字段。如果`span`元素周围有明确的标识,比如一个特定的`id`或`class`,我们可以尝试使用这些信息来定位编辑框。如果编辑框有唯一的`name`属性或者其他可以用来唯一标识它的属性,我们可以直接使用这些信息来定位它。如果编辑框紧随一个与之关联的`label`元素,我们可以通过`label`来找到输入框。原创 2024-06-12 15:03:15 · 563 阅读 · 0 评论 -
笔记:如何在pycharm中使用anaconda的虚拟环境,新建工程和更改现有工程的虚拟环境。
cs上大多是修改已有工程的,并且都说得不明白,我个人觉得。所以我的这个应该是最好的。4.新建工程,注意第五步最为重要。第六步选择实际想用的环境。等待更新:早知不选最后一个,太太大了。以上是新建工程时的方法。1.用anaconda创建虚拟环境。下面演示如何在已有工程中修改这个环境。重启pytharm ,正常。3.打开pycharm。比如我使用的是最后一个。原创 2024-06-04 18:01:50 · 1101 阅读 · 0 评论 -
深度学习笔记:5.PyTorch的安装
【代码】深度学习笔记:5.PyTorch的安装。原创 2024-06-04 15:40:10 · 242 阅读 · 0 评论 -
深度学习笔记:4.Numpy的安装
1-5 Numpy教程 — 梗直哥随笔 v0.1 文档 (gengzhige-essay.readthedocs.io)Python之Numpy详细教程_python numpy-CSDN博客。原创 2024-06-04 14:55:47 · 689 阅读 · 0 评论 -
深度学习笔记:3.matplotlib的安装
1-4 matplotlib快速上手 — 梗直哥随笔 v0.1 文档 (gengzhige-essay.readthedocs.io)原创 2024-06-04 14:27:21 · 274 阅读 · 0 评论 -
深度学习笔记:2.Jupyter Notebook
Jupyter Notebook 常用操作快捷键+魔法指令_jupyter notebook快捷键调用函数-CSDN博客。Jupyter notebook快捷键看这一篇就够了-CSDN博客。原创 2024-06-04 14:15:56 · 909 阅读 · 0 评论 -
深度学习笔记:1.anaconda安装
Anaconda命令汇总-CSDN博客。原创 2024-06-04 14:01:58 · 800 阅读 · 0 评论 -
Anaconda中的常用科学计算工具
Anaconda是一个流行的Python科学计算环境,它提供了大量的科学计算工具,这些工具可以帮助用户进行数据分析、机器学习、深度学习等任务。:建立在NumPy之上的一系列数学算法和函数库,包括优化、线性代数、积分、插值、统计和信号处理等。:一个用于科学计算的基础库,提供了多维数组对象和工具,以及矩阵运算、线性代数、傅立叶变换等功能。:一个用于机器学习和数据挖掘的Python模块,提供了简单高效的工具用于数据建模和预测。:一个用于绘制静态、动态、交互式图形的库,适用于制作高质量的二维图形。原创 2024-06-03 18:02:16 · 553 阅读 · 0 评论 -
anaconda pycharm jupter分别是
此外,PyCharm的版本控制面板允许用户查看项目的所有分支,创建新的分支,以及查看Git的历史操作。Anaconda的主要功能是提供一个易于管理的环境,用于安装、运行和更新Python包,同时支持创建和切换不同的Python环境,确保项目之间的隔离性。综上所述,Anaconda、PyCharm和Jupyter Notebook各自在Python的学习和开发过程中扮演着重要角色,它们分别提供了环境管理、集成开发环境和交互式编程环境的功能,帮助用户更高效地学习和应用Python。原创 2024-06-03 18:00:00 · 591 阅读 · 0 评论 -
笔记:美团的测试
关于Android_sdk中启用uiautomatorviewer.bat出现闪退的解决办法_uiautomatorviewer.bat闪退怎么办-CSDN博客。关于Android_sdk中启用uiautomatorviewer.bat出现闪退的解决办法_uiautomatorviewer.bat闪退怎么办-CSDN博客。自动化框架uiautomator2和weditor的安装和使用_weditor 下载-CSDN博客。2.运行代码之前打开时间记录。0.先启动appium。成功的解决方法,我的情况。原创 2024-06-02 22:08:51 · 1110 阅读 · 0 评论 -
推荐的Pytest插件
这个插件为Django应用和项目添加了Pytest支持,允许使用Pytest fixture测试Django项目,而无需导入unittest和复制/粘贴其他样板测试代码,比标准的Django测试套件运行得更快。它包含自己的TestCase类,你的测试可以继承该类,并使你能够使用较少的按键来输出频繁的测试案例,例如检查特定的HTTP错误代码。这个插件改进了Pytest的默认输出,添加了进度条,并立即显示失败的测试。这个插件修改了Pytest的默认行为,使失败和错误的测试立即显示,而不是等待所有测试完成。原创 2024-06-01 07:04:35 · 432 阅读 · 0 评论 -
使用编程语言(如Python的Selenium)获取框架的源码
【代码】使用编程语言(如Python的Selenium)获取框架的源码。原创 2024-05-30 22:27:58 · 114 阅读 · 0 评论 -
将爬虫项目打包到Docker的基本
在Dockerfile的最后,使用CMD指令定义容器启动时运行的命令。例如,将启动容器并运行脚本。原创 2024-05-30 05:20:15 · 1514 阅读 · 0 评论 -
Pytest 和 Selenium 的结合的一个例子及注意事项
创建一个测试函数,并在函数上使用。原创 2024-05-29 07:30:37 · 1116 阅读 · 0 评论 -
pytest断言与Selenium模拟操作的规划案例
在使用pytest进行自动化测试时,断言是验证测试结果是否符合预期的关键步骤。pytest提供了简洁的断言语法,使得编写测试用例更加直观和易于维护。以下是一个简单的规划案例,展示了如何在pytest中使用断言来验证Selenium模拟操作的结果。实验目的学习使用pytest进行自动化测试的基本流程。掌握pytest中的断言方法及其在Selenium测试中的应用。通过实际操作,理解断言失败时的处理机制。实验步骤。原创 2024-05-29 07:13:05 · 1151 阅读 · 0 评论 -
结合PyTest和Selenium进行网页自动化测试的例子
Pytest是一个流行的Python测试框架,它支持多种命令行参数来控制测试的执行方式和行为。-v:显示更详细的测试输出信息,包括每个测试用例的名称和结果。-q:显示简洁的测试输出信息,隐藏详细的测试用例名称和结果。-k:通过表达式筛选测试用例,例如-k "smoke"将只运行带有smoke标记的测试用例。-x:测试执行中一旦发现失败的测试用例,立即停止测试。-s:显示打印语句的输出,通常用于调试目的。-n:并行执行测试用例,需要配合插件使用。--reruns:对失败的测试用例进行重跑,需要配合插件使用。原创 2024-05-29 07:00:19 · 1183 阅读 · 0 评论 -
Selenium 模拟操作与 pytest 断言的结合使用
在使用 Selenium 进行 UI 自动化测试时,通常会结合 pytest 作为测试框架来编写和执行测试用例。pytest 提供了丰富的断言功能,可以用来验证 Selenium 模拟操作的结果是否符合预期。断言的基本用法在 pytest 中,断言是通过assert关键字来实现的。如果断言失败,pytest 会捕获异常并标记测试用例为失败。在上述代码中,是一个假设存在的函数,它计算并返回一个值。assert语句会检查是否等于,如果不等,则抛出异常,并打印出自定义的错误信息。原创 2024-05-29 06:46:15 · 1030 阅读 · 0 评论 -
Pytest的断言与条件判断的区别
在Python的测试框架pytest中,断言(assert)和条件判断(if-else)是两种不同的逻辑控制结构,它们在测试代码中扮演着不同的角色。在pytest中,条件判断通常用于根据某些条件来改变测试的流程,例如跳过某些测试步骤或者根据条件执行不同的测试用例。主要用于根据某些条件来改变测试的流程,它不会导致测试用例失败,除非它内部包含了断言或其他导致失败的逻辑。是Python中的一个关键字,用于在代码中设置检查点,验证某个条件是否为真。主要用于验证测试用例的预期结果,如果验证失败,测试用例将失败。原创 2024-05-29 06:38:04 · 535 阅读 · 0 评论 -
给我一个用断言结果执行下一步的例子
请注意,虽然在断言失败后继续执行代码是有用的,但在实际的测试脚本中,我们应该确保这种“失败后的操作”不会影响测试的正确性和完整性。通常,这些操作应该是辅助性的,比如记录信息,而不是改变应用程序的状态或测试的结果。如果断言失败,我们会查找错误消息,并执行一些后续操作,比如保存截图和发送邮件通知。如果提交失败,我们将在页面上查找错误消息,并根据情况执行不同的操作。当然,让我们来看一个更具体的例子,展示如何在断言失败后执行下一步操作。和表单字段的名称都是假设的,你需要替换为你实际要测试的网页和元素的属性。原创 2024-05-29 06:35:01 · 309 阅读 · 0 评论 -
pytest的断言与Selenium 模拟操作的一个例子
结合这两者,我们可以编写自动化测试脚本来验证网页的行为是否符合预期。下面是一个简单的例子,展示了如何使用。,你需要下载相应浏览器的WebDriver,并将它的路径添加到系统的PATH环境变量中,或者在你的脚本中指定其绝对路径。:这个方法同样打开一个网页,然后模拟点击页面上的一个按钮,并检查页面上的某个元素是否显示了预期的文本。和按钮的ID、类名都是假设的,你需要替换为你实际要测试的网页和元素的属性。语句检查页面的标题是否包含预期的文本。在这个例子中,我们创建了一个测试类。请注意,这个例子中的。原创 2024-05-29 06:25:41 · 733 阅读 · 0 评论 -
pytest的断言
在pytest中,断言用于验证测试用例的预期结果是否与实际结果相匹配。如果不匹配,则测试用例失败。当断言失败时,pytest会提供详细的错误信息,包括失败的表达式、实际值和预期值等。这样,当断言失败时,除了显示失败的表达式外,还会显示附加的错误信息,使得调试更为便捷。以上信息基于最新的搜索结果,反映了pytest断言的基本概念和使用方法。如果为真,则断言通过;如果为假,则断言失败。如果为假,则断言通过;如果为真,则断言失败。如果不存在,则断言失败。如果不等,则断言失败。如果相等,则断言失败。原创 2024-05-29 06:20:35 · 511 阅读 · 0 评论 -
使用Selenium获取框架内网页源码
首先,确保您已经安装了Selenium库以及对应的WebDriver。例如,如果您使用的是Chrome浏览器,则需要下载ChromeDriver。以上步骤展示了如何使用Selenium获取网页源码,包括处理iframe等特殊情况。如果网页中包含iframe,您需要先切换到iframe内部,然后再获取其中的网页源码。编写Python脚本,导入必要的Selenium模块,并创建浏览器操作对象。如果您需要获取特定元素的HTML源码,可以使用XPath定位该元素,然后使用。属性来获取整个页面的HTML源码。原创 2024-05-29 05:59:30 · 501 阅读 · 0 评论 -
【无标题】
自学Appium进行移动应用自动化测试的过程可以分为几个关键步骤,以下是一个基本的学习路径指南:原创 2024-05-22 17:44:16 · 408 阅读 · 0 评论 -
模拟操作网页时,显式等待和隐式等待有什么区别
定义:显式等待是通过WebDriverWait类来实现的,它允许你指定一个最长等待时间和一个间隔时间,在这个时间内,它会不断地检查一个特定的条件(通常是元素是否可见或可交互)是否满足,直到条件满足或者达到最大等待时间,然后继续执行下一步。定义:隐式等待是通过driver.implicitly_wait()方法设置的,一旦设置,它将对整个会话(session)生效,对所有find_element*方法都起作用。需要注意的是,两者可以结合使用,但要谨慎,以免造成等待时间过长,影响测试效率。原创 2024-05-22 16:50:50 · 200 阅读 · 0 评论