python3+selenium4自动化测试-显式等待、隐式等待与强制等待

日期:2022-10-14 18:53:21 作者:磊落不羁 栏目:办公自动化 评论(0)
在进行自动化测试时,对元素的操作通常都是比较迅速的,而有时会由于页面元素加载需要时间,或页面遮罩未及时关闭导致操作元素失败,这时,就需要用到等待,所谓等待,就是等待元素满足指定条件再执行后续操作,这在测试中对保证成功执行测试通常是非常有用的,常用的等待方式有3种,分别为隐式等待 显示等待 强制等待下面将对3种等待方式逐一说明1、隐式等待设置隐式等待后,webdriver在查找任何元素时都会在一定时间内轮询DOM,在某些元素需要时间加载显示时这通常很有用,但由于使用其会与后续介绍的显式等待冲突导致一些不可控的结果,所以在实际测试中个人不建议使用此等待方式,隐式等待语法如下from ...

python3+selenium4自动化测试-元素常用操作

日期:2022-10-14 18:45:50 作者:磊落不羁 栏目:办公自动化 评论(0)
在做自动化测试时,我们启动浏览器访问指定页面,定位到想要的元素之后,则需要对元素进行一系列操作,以实现模拟功能测试时对页面的操作与结果判断,元素常用的操作有输入内容:send_keys()鼠标点击:click()获取元素可见文本:text清空输入框:clear()获取属性值:get_attribute()判断元素是否启用编辑:is_enabled()判断元素是否显示:is_displayed()判断元素是否被选中:isSelected()提交输入框内容:submit()1、send_keys()send_keys()方法用于给输入框输入内容,是selenium操作元素的最基本操作之一,使用示例...

python3+selenium4自动化测试-元素定位之find_elements()、层级定位与selenium4相对定位

日期:2022-10-14 18:40:00 作者:磊落不羁 栏目:办公自动化 评论(0)
1、find_elements()上一篇介绍了定位单个元素的find_element,使用find_element定位元素时,如果存在多个满足定位条件的元素,将只能得到满足条件的第一个元素,而要得到所有满足条件的元素,则可以使用find_elements()方法find_elements()方法获取元素的方式与find_element()方法完全一致,不同之处在于,find_elements()方法获取元素之后返回的是一个list列表,无论是找到一个、多个还是未找到满足条件的元素,返回的都是一个list列表,而find_element()方法返回的则是单个元素定位示例代码如下:from&nbs...

python3+selenium4自动化测试-浏览器常用基本操作-基础篇

日期:2022-10-14 18:22:59 作者:磊落不羁 栏目:办公自动化 评论(0)
1、打开指定的网页地址我们使用selenium进行自动化测试时,打开浏览器之后,第一步就是让浏览器访问我们指定的地址,可使用get方法实现from selenium import webdriver driver = webdriver.Edge() driver.get('https://www.baidu.com/')   # 本行用于访问指定的地址2、获取当前页面url我们在测试过程中,有时需要获取当前页面的url以判断是否跳转到指定页面,获取页面url的方法如下:from&nb...

python3+selenium4自动化测试-元素定位之find_element()

日期:2022-10-14 18:10:33 作者:磊落不羁 栏目:办公自动化 评论(0)
学习selenium自动化测试,如何使用WebDriver在页面上准确的查找到要操作的元素是最基本的技术之一,以百度搜索为例,我们要想使用selenium完成搜索操作,打开浏览器进入百度首页后的第一件事,就是找到我们要操作的元素,如文字输入框、百度一下按钮等而要想完成元素定位,Selenium WebDriver为我们提供了多种元素选择器,其中,定位单个元素使用方法find_element(),包括:1、通过ID属性定位一般来说,如果需要定位的元素的ID属性可用、独特且始终可预知的,使用ID属性定位是我们进行元素定位的首选方法,而元素是否可以使用ID定位,可在指定元素上点击鼠标右键,然后点击检...

解决 layui 弹出层(弹框)一闪而过就消失的问题 (转载)

日期:2022-10-12 09:27:36 作者:磊落不羁 栏目:HTML+CSS 评论(0)
本人遇到问题:使用layer.open()弹出页面层,出现弹框闪跳以下就消失,检查代码无误后在网上发现大神的解析,醍醐灌顶,问题已解决。原文如下:在页面中,layer的弹出框,不管是layer.alert,还是layer.msg等等,都会出现一闪而过的问题,研究发现,总结如下原因一:在页面中使用了form表单,把button按钮放在了form中,在这种情况下,如果没有指定button标签的type属性的话,默认会是submit,所以出现了一闪而过的现象解决方法:在button中需要指定type为button...

ThinkPHP6.0在phpstorm添加查询构造器和模型的代码提示

日期:2022-10-08 11:35:43 作者:磊落不羁 栏目:thinkphp6 评论(0)
ThinkPHP6.0升级后  使用查询构造器和模型都没有了提示原因是tp6源码中没有添加注释找到Model.php* @method Query where(mixed $field, string $op = null, mixed $condition = null) static 查询条件  * @method Query whereTime(string $field, st...

连云港楼市月销量爬虫

日期:2022-09-24 11:27:23 作者:磊落不羁 栏目:爬虫 评论(0)
话不多说,只是为了数据分析而已import time import requests import re import xlwt list_url='http://lygfdc.com/WebSite/Portal/List.aspx?nodeid=4278FFB377C0D3FD' def get_lists():     lists_all = []     for i in ran...

酷狗音乐单曲爬取

日期:2022-09-22 15:27:55 作者:磊落不羁 栏目:爬虫 评论(0)
酷狗音乐单首歌曲下载单首歌曲下载没有问题url链接复制的别人的进行的修改。我就纳了闷了,怎么我复制的url链接就不行呢?明明区别不大。我这个脑子呀。。果然不如别人灵活。import requests from urllib import parse import json import time import re import os import webbrowser import warnings warnings.filterwarnings('ignore'...

关于百合网会员资料搜索爬取的相关思路

日期:2022-09-22 08:52:22 作者:磊落不羁 栏目:爬虫 评论(0)
今天原本拿百合网做自动化识别的学习测试,在编写过程中发现了百合网如下的爬取思路,可以大批量的获取百合网的会员内容。首先注册个账号,随后登录,便可进入百合网会员界面,随后可以点击搜索进入搜索。这都是正常操作。https://search.baihe.com/在百合网的搜索界面进入开发工具F12在基本搜索界面随便输入条件进行搜索。在开发工具NETwork--XHR中可以看到以下两个链接的出现。通过分析得知 getUserID页面是获取用户id列表的界面。getUserList?userID这个链接是通过getUserID所获取的列表进行的每次8个会员信息页面的展示。而getUserID每次获取的会...

百度好看视频单个视频爬取代码

日期:2022-09-20 15:52:45 作者:磊落不羁 栏目:爬虫 评论(0)
用这个下载在好看视频看好的单个视频 下载速度稳定 新能好  目前使用流畅import requests import re import json import os import webbrowser from tqdm import tqdm def download(url: str, fname: str):     header = {   ...

抖音个人主页视频批量下载

日期:2022-09-15 09:40:28 作者:磊落不羁 栏目:爬虫 评论(0)
个人研究所用 ''' 本程序使用selenium编写  本程序在pycharm中运行是没有问题的 整个程序完整 采用多进程下载技术 所以下载速度也相对较快 主要用途 下载抖音个人主页中所有视频 问题:使用pyinstaller进修打包操作后运行出现障碍,  问题在哪里不清楚 经验  selenium中获取元素 必须使用By引用 原来的获取方式似乎失效因为没有查询到相关资料      所以...

抖音下载个人所有视频

日期:2022-09-10 21:53:47 作者:磊落不羁 栏目:爬虫 评论(0)
今天写了个抖音下载个人所有视频 用的是selenium 自动化技术获取的链接 ,多进程下载。同时分享网上另外一个高手写的批量下载 ,带进度条先发布我的代码,很好用,但是一个缺陷没有解决就是不能按照文件夹归类,原因是无法从网页获取用户名称(待解决)from selenium import webdriver from selenium.webdriver.common.by import By import time import requests import re import js...

python中unicode编码转换为中文

日期:2022-09-02 22:50:13 作者:磊落不羁 栏目:语法字符串 评论(0)
我们使用python中,遇到爬取网站情况,用到unicode编码,我们需要将它转换为中文,unicode编码转换为中文的方法有四种:使用unicode_escape 解码、使用encode()方法转换,再调用bytes.decode()转换为字符串形式、 使用json.loads 解码(为json 格式)、使用eval(遇到Unicode是通过requests在网上爬取的时候)。具体内容请看本文。方法一:使用unicode_escape 解码unicode = b'\\u4f60\\u597d're = unicode.decode(&q...

python 爬取抖音视频

日期:2022-09-02 16:34:23 作者:磊落不羁 栏目:爬虫 评论(0)
抖音爬取最困难的是抖音视频地址的提取 ,提取到视频地址之后 即可进行保存下载     抖音的地址存于script标签间 是编码后的  所以取到地址要进行解码   本案例中使用的解码方式 是request  解码   具体其他解码方式 url其他包解码from urllib import parse #数据对象 data = {     "a":"1", &...

爬取B站单个视频

日期:2022-09-02 15:14:42 作者:磊落不羁 栏目:爬虫 评论(0)
爬虫的基础是页面的分析,分析好页面才可以顺利爬取资源""" 2. 想办法在程序里拿到页面源代码 3. 写正则. 提取到playinfo中的内容 4. 转化成字典. 提取下载url(video, audio) 5. 下载视频和音频 6. 合并起来. """ import requests   # 提前安装requests模块  pip install re...

JS 实现页面在浏览器中全屏显示(F11效果)

日期:2022-05-19 12:25:40 作者:磊落不羁 栏目:常用函数 评论(0)
<!DOCTYPE html> <html>     <head>         <meta charset="UTF-8">         <title></title>     </head>   ...

python 判断程序是否运行函数

日期:2022-05-14 08:14:57 作者:磊落不羁 栏目:常用函数 评论(0)
import psutil as psutil def is_process_running(process_name):     pl = psutil.pids()     for pid in pl:         if psutil.Process(pid).name() == process_n...

js页面保护代码

日期:2022-04-06 19:49:48 作者:磊落不羁 栏目:常用函数 评论(0)
// 禁止右键菜单         document.oncontextmenu = function() {             return false         }       &nbs...

php 文件打包下载 亲测成功

日期:2022-03-29 16:39:14 作者:磊落不羁 栏目:常用函数 评论(0)
今天在php7.4 中 需要做一个php打包下载的功能。 文件夹里面都是图片个格式在网上寻找了N久 终于找到一个可靠的代码来支持我想要的功能。$zip = new \ZipArchive; //压缩文件名 $filename = './storage/zip/'.$dwid.'.zip'; //新建zip压缩包 $zip->open($filename,\ZIPARCHIVE::OVERWRITE | \ZIPARCHIVE::CREATE); //循环压缩文件 fore...

php拿到目录下的所有文件并且保存到数组

日期:2022-03-29 15:55:19 作者:磊落不羁 栏目:常用函数 评论(0)
php拿到目录下的所有文件并且保存到数组function get_dirs($dir_path) {     foreach(glob($dir_path."/*") as $d){         $tmp=explode('.',$d);         $k=end($tmp);   ...

thinkphp zip打包下载

日期:2022-03-29 15:29:50 作者:磊落不羁 栏目:thinkphp6 评论(0)
<?php namespace Jrk; class Zipdown {     /**      * 打包压缩文件及文件夹      *      * @param array $files      * @param string $zipNa...

php 将文件夹打包下载

日期:2022-03-29 14:50:23 作者:磊落不羁 栏目:常用函数 评论(0)
本文实例为大家分享了PHP文件打包下载zip的具体代码,供大家参考,具体内容如下<?php //获取文件列表 function list_dir($dir){    $result = array();    if (is_dir($dir)){    $file_dir = scandir($dir);    foreach($file_dir as $file){ &nbs...

php调用python获取返回值_PHP 调用 Python 代码教程,向 Python 传参 + 接收返回值

日期:2022-03-27 18:49:01 作者:磊落不羁 栏目:网络接口 评论(0)
以下文章 引用今天一个项目的服务器代码语言从 Java 改成了 PHP,因为算法是用 Python 写的,所以就需要在 PHP 中调用 Python 脚本,包括向 Python 传参,Python 接收参数后处理数据,再把处理结果传回给 PHP,最后 PHP 返回给客户端。在 PHP 中使用的工具是 exec 调用的 Python 脚本,本文记录下使用教程。一、在 php.ini 中开启 exec出于安全考虑,PHP 的 exec 命令默认是关闭的,所以我们首先需要开启 exec。如果你也使用的是 LNMP 一键安装包,那么 php.ini 路径是在 /usr/local/...

php 读取HTML变成XML

日期:2022-03-27 15:33:18 作者:磊落不羁 栏目:网络接口 评论(0)
使用 DOM 方法来获取 Web 页面的 SimpleXML 版本<?php $dom = new DOMDocument(); $dom->loadHTMLFile('http://example.com/'); $xml = simplexml_import_dom($dom); ?>现在,您可以像对其他 XML 文档一样遍历 HTML 页面。因此,您现在可以使用 $xml->head->title 来访问页面标题,或者使用 $xml->body->div[0]->di...

php GD的使用

日期:2022-03-23 15:12:14 作者:磊落不羁 栏目:基本语法 评论(0)
以下是学习的一段基础性知识代码 内容包含了GD常用的几个函数以及用法<?php header('Content-type:image/png'); //用于向浏览器输出图片的指示 $res=imagecreatetruecolor(500,600);  //创建画布 $red=imagecolorallocate($res,255,0,0); //设置颜色 $green=imagecolorallocate($res,0,255,0); $blue=imagecolorallocate($res,0,0,255)...

一个数据转换的实例

日期:2022-03-16 14:37:51 作者:磊落不羁 栏目:办公自动化 评论(0)
操作要求 从excel中导入表格   对信息进行筛选 分类后 统计保存到新的表格# 东海县教育局 教育考试中心  # 作 者: 刘   磊 # QQ: 247483085 # 编写时间:2022-03-09 --14:24 # coding=utf-8 import xlwt import xlrd from xlutils.copy import&nb...

xlwt 和xlrd 读取写入表格

日期:2022-03-16 14:35:34 作者:磊落不羁 栏目:办公自动化 评论(0)
一个简单的实例 解释 python读取表格和保存写入表格xlwt写入表格 可以写样式  但是不好的地方就是 列需要用数字来表示  import xlwt import xlrd from xlutils.copy import copy #打开xlsx文件并确定数据表 xlsx=xlrd.open_workbook("C:\\Users\\Administrator\\Desktop\\5.xls") table=xlsx.sheet_by_...

爬虫 selenium的使用

日期:2022-03-09 10:39:07 作者:磊落不羁 栏目:爬虫 评论(0)
from selenium.webdriver import Chrome from selenium.webdriver.common.keys import Keys import time web = Chrome() web.get("http://lagou.com") # 找到某个元素. 点击它 el = web.find_element_by_xpath('//*[@id="change...

爬虫 多进程 多线程 协程

日期:2022-03-09 10:33:35 作者:磊落不羁 栏目:爬虫 评论(0)
多线程# 线程, 进程 # 进程是资源单位, 每一个进程至少要有一个线程 # 线程是执行单位 # 启动每一个程序默认都会有一个主线程 # def func(): #     for i in range(1000): #         print("func", i) # # #&nbs...

爬虫 模拟登录、防盗链及代理教案

日期:2022-03-09 10:31:13 作者:磊落不羁 栏目:爬虫 评论(0)
模拟登录# 登录 -> 得到cookie # 带着cookie 去请求到书架url -> 书架上的内容 # 必须得把上面的两个操作连起来 # 我们可以使用session进行请求 -> session你可以认为是一连串的请求. 在这个过程中的cookie不会丢失 import requests # # 会话 # session = requests.session() #&nbs...

request 基本知识

日期:2022-03-09 10:07:06 作者:磊落不羁 栏目:爬虫 评论(0)
requests是爬虫重要的知识1、headers的传递 import requests query = input("输入一个你喜欢的明星") url = f'https://www.sogou.com/web?query={query}' dic = {     "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac&...

re、bs4、xpath的基本使用学习笔记

日期:2022-03-09 08:18:19 作者:磊落不羁 栏目:爬虫 评论(0)
1、re的主要函数及使用#findall  :匹配字符串中所有的符合正则的内容re.findall()    #参数 正则  待处理文本    返回的值是list  正则前面加上r 更好例如 :re.findall(r"\d","ddddddddd")#finditer:匹配字符串中所有的内容【返回的是迭代器】it=re.finditer(r"\d","我的电话号码是111111,我女朋友的电话是:2222") print(...

python 批量删除文件夹内文件名称重复字符串

日期:2022-03-07 08:40:05 作者:磊落不羁 栏目:办公自动化 评论(0)
# coding=utf-8 import os print("----------本程序主要用于目录内文件名称重复部分去除重命名-------------") print("-------------------使用前请确定目录内无其他目录等内容----------------------") outcontent=input("输入要去除的文件名称文字:") old_names=os.listdir(os.getcwd()) for j in old_names...

招生考试网的自动更新爬虫

日期:2022-03-02 10:58:27 作者:磊落不羁 栏目:爬虫 评论(0)
本程序写的目的主要是同步单位的网站信息和上级网站信息,采用爬虫自动分析出信息URL所属类别,获取分类ID 然后对采集网站内容 放入mysql数据库中程序整个过程使用pymysql request   re time  urllib3 1.25版本 几个包 思路如下1、获取列表页url列表2、循环url 获取网页的信息所属类别3、查询数据库中是否存在该来源url 如果存在说明文章存在 跳过 不存在则进入文章页面进行采集4、采集文章页面,获取几个信息5、写入信息到数据库中程序采用同步采集  没有使用 多线程 多进程或者协程  对于一个网站...

Urllib库获取网页源码

日期:2022-02-27 11:39:08 作者:磊落不羁 栏目:爬虫 评论(0)
1,获取网页的头部信息以确定网页的编码方式:import urllib.request   res = urllib.request.urlopen('http://www.163.com')   #info()方法 用来获取网页头部  print(res.info())2,获取网页代码:#导入 urllib库的request模块 import urllib.request #指定要抓取的网页url,必须以http开头的 url =&nbs...

一个图片网站的单页图片下载 爬虫实例

日期:2022-02-21 21:25:56 作者:磊落不羁 栏目:爬虫 评论(0)
网站是www.sj96.com编写这个程序主要是学习爬虫技术目标是下载页面所有的图片程序已经基本实现,程序内容如下import requests import re import time import os #===============================读取网页内容====================================== url='http://www.sj96.com/beauty/photos/64743.html' headers={    &n...

爬虫写的一个查询单词的小程序

日期:2022-02-11 10:14:34 作者:磊落不羁 栏目:爬虫 评论(0)
# 东海县教育局 教育考试中心  # 作 者: 刘   磊 # QQ: 247483085 # 编写时间:2022-02-11 --9:14 # coding=utf-8 import time import requests from bs4 import  BeautifulSoup isrun=True while  isrun:  &nbs...

爬取南京房价 爬虫系列

日期:2022-02-10 17:53:27 作者:磊落不羁 栏目:爬虫 评论(0)
1 基本概念网络爬虫(Crawler):又称网络蜘蛛,或者网络机器人(Robots). 它是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。换句话来说,它可以根据网页的链接地址自动获取网页内容。如果把互联网比做一个大蜘蛛网,它里面有许许多多的网页,网络蜘蛛可以获取所有网页的内容。爬虫是一个模拟人类请求网站行为, 并批量下载网站资源的一种程序或自动化脚本。爬虫:使用任何技术手段,批量获取网站信息的一种方式。关键在于批量。反爬虫:使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。关键也在于批量。误伤:在反爬虫的过程中,错误的将普通用户识别为爬虫。误伤率高的反爬虫策略,效果再好也不能...

pygame 井字棋

日期:2022-02-10 17:30:10 作者:磊落不羁 栏目:Pygame 评论(0)
玩法:我打赌大家在课堂上肯定玩过这个,想想当年和同桌玩这个废了好几本本子。源码分享from tkinter import * import tkinter.messagebox as msg   root = Tk() root.title('TIC-TAC-TOE---Project Gurukul') # labels Label(root, text="player1 : X", font=&...