本文将深入探讨 Puppeteer 如何通过X 和 Y 坐标精准实现鼠标移动,并结合实际案例展示如何采集小红书网站的内容。...这就要求我们在代码中实现:模拟人类鼠标移动:基于 X 和 Y 坐标的动态轨迹。代理 IP 技术:隐藏爬虫的真实 IP。自定义请求头:包括 User-Agent 和 Cookie。...解决方案Puppeteer 的鼠标移动 APIPuppeteer 提供了 page.mouse.move(x, y, options) 方法来实现鼠标移动。...Cookie 和 User-Agent:模拟浏览器的指纹数据,避免爬虫身份暴露。鼠标移动模拟:采用 mouse.move 方法,通过动态坐标和步数实现平滑移动,模仿人类操作。...结论通过结合 Puppeteer 的强大功能,我们不仅实现了对 X 和 Y 坐标的鼠标轨迹模拟,还在代码中整合了代理 IP 技术、Cookie 和 User-Agent 的设置。
继续对Echarts的属性进行探索,关于如何修改Echarts的x和y轴坐标颜色的问题,继续看,主要修改代码的地方: /*改变xy轴颜色*/ axisLine:...{ color: '#e33b38', width: 1, //这里是为了突出显示加上的...} }, 写一个实例的代码如下: <!...type: 'category', boundaryGap: false, /*改变x轴颜色...yAxis: { splitLine: { show: false }, /*改变y轴颜色
01 — 如何理解formula中y~.和y~x:z的含义? y~. 和 y~x:z 是一个简单的formula。~和 : 是formula中的运算符,但它们与通常理解的数学运算符存在一定的差距。...以下是formula中其他一些运算符的含义: ~ :~连接公式两侧,~的左侧是因变量,右侧是自变量。 + :模型中不同的项用+分隔。注意R语言中默认表达式带常数项,因此估计 只需要写y~x。...- :-表示从模型中移除某一项,y~x-1表示从模型中移除常数项,估计的是一个不带截距项的过原点的回归方程。此外,y~x+0或y~0+x也可以表示不带截距项的回归方程。...(←是大写的i不是小写的L) y~x+I(z^2)的含义: y~x+z^2的含义: (因为z没法和自己交互) 那么,y~x+w+z和y~x+I(w+z)有什么区别呢?...y~x+w+z的含义: y~x+I(w+z)的含义: 可以发现,第二个公式将w+z作为一个整体估计这一变量的参数。
/***************** 对table中的point进行排序,按照type值将x或者y从小到大排 *******************/ defun(TableSort (table type...table_len-1 sortedTable[i]=table[i] ) for(i 0 table_len-2 for(j i+1 table_len-1 if(type=="x"...sortedTable[i] sortedTable[i]=sortedTable[j] sortedTable[j]=temp else if(type=="y"...) mytable=makeTable("table") mytable[0]=3:1 mytable[1]=1:2 mytable[2]=2:3 table1=TableSort(mytable "x"...table1[1]=2:3 table1[2]=3:1 */ mytable[0]=1:3 mytable[1]=2:2 mytable[2]=3:1 table1=TableSort(mytable "y"
3.有没有什么办法可以获取整个设备的尺寸大小? 4.屏幕的 size 怎么获取呢? 5.这个东西想一口气把它滑过来,不能出现滑动到半路上又回去了。如果我要从右边滑到左边,起点和终点怎么选?...不需要针对每个版型的手机写一段代码,全部通用。 **用坐标有个缺陷:可能适用于某一种手机,换个手机就不行了,因为坐标值对不上。** 3.有没有什么办法可以获取整个设备的尺寸大小?...直接获取下它的宽和高是多少。针对屏幕上的某个坐标点来滑动的,又不是针对某一个元素。整屏滑动就是左滑右滑,上滑下滑。 设置下滑动的百分比,如果滑动40%-50%,感觉根本滑动不过去。...如果能够获取到整屏的大小,按百分比来滑动,滑动的距离在70%-90%,那肯定就能滑过去了。 根据每个手机的 x 轴和 y 轴,确定它的滑屏百分比,那随便什么样的手机都是可以滑屏的。...y,end\_x,end\_y,200) #从左向右滑 driver.swipe(end\_x,end\_y,start\_x,start\_y,200) #向下滑动 #向上滑动:x轴不变,
3.有没有什么办法可以获取整个设备的尺寸大小? 4.屏幕的 size 怎么获取呢? 5.这个东西想一口气把它滑过来,不能出现滑动到半路上又回去了。如果我要从右边滑到左边,起点和终点怎么选?...的swipe函数是针对屏幕上的坐标来滑动的。...swipe函数是安卓和 IOS 两种设备同时通用。 ? 从一个点滑到另外一个点,那么每个点都有 x 值和 y 值。swipe有 4 个参数。所以起始 x,起始 y,结束 x,结束 y。...「用坐标有个缺陷:可能适用于某一种手机,换个手机就不行了,因为坐标值对不上。」 3.有没有什么办法可以获取整个设备的尺寸大小? 直接获取下它的宽和高是多少。...如果能够获取到整屏的大小,按百分比来滑动,滑动的距离在70%-90%,那肯定就能滑过去了。 根据每个手机的 x 轴和 y 轴,确定它的滑屏百分比,那随便什么样的手机都是可以滑屏的。
获取元素文本:格式:element.text。获取元素坐标:格式:element.location。结果:{'y': 19,'x: 498}。获取元素尺寸(高和宽):格式:element.size。...print(f"滑动条起始位置坐标为 {seek_bar_ele_start}") # 获取【滑动条】中间位置坐标 seek_bar_center_x = seek_bar_ele_start.get...("x") + seek_bar_ele_width/2 seek_bar_center_y = seek_bar_ele_start.get("y") seek_bar_center...= (seek_bar_center_x, seek_bar_center_y) print(f"滑动条中间位置坐标为 {seek_bar_center}") # 点击【滑动条...在编写测试脚本时,通常需要结合元素的定位方式(如 ID、XPath 等)来找到相应的控件元素。确保测试脚本中的等待和定位策略,以及对元素状态的验证,可以提高测试的稳定性和可靠性。
IDE编辑并强化脚本 Appium移动端自动化测试--控件定位方法 Appium移动端自动化测试--元素操作与触摸动作 Appium移动端自动化测试--搭建模拟器和真机环境 Appium移动端自动化测试...在这里插入图片描述 swipe是对TouchAction的一个封装,底层源代码还是使用了TouchAction swipe(self, start_x, start_y, end_x, end_y,...duration=None): int start x-开始滑动的x坐标; int start y -开始滑动的y坐标 ; int end x -结束点x坐标; int end y -结束点y坐标; duration...滑动时间(默认5毫秒) 屏幕左上角为起点,坐标为(0,0),起点往右为Y轴,起点以下为X轴 其实就是需要输入一个滑动起始点和结束点对应的X Y坐标,进行滑动操作,而在实际工作中一般输入的是相对坐标,根据整个屏幕的比例计算得到的坐标...如下的Java代码,获取到屏幕的高和宽,再根据高和宽来确定滑动的起始位置和结束位置。
原理介绍图片我们先搞清楚几个概念,看Appium是如何实现自动操作设备的,结合图片从右往左看:Device是设备,有安卓、IOS、Windows、Mac等不同类型的设备。...安装Node.js,用于运行Appium 和 webdriver.io(Client Node.js)。...图片图片页面元素定位工具appium inspector官方的GUI界面定位工具,可以通过参数启动App,并将App的画面和页面结构展示出来,以微信为例:填入我们获取到的appPackage 和 appActivity...开始坐标 + 滑动时间 + 结束坐标 await driver.touchAction([ {action: 'press', x: 379, y: 2098}, {action...: 'wait', ms: '2000'}, {action: 'moveTo', x: 375, y: 606}, 'release' ]); // 暂停 1秒
长按和短按的时间长度不同。 move_to手按住别松开,一直滑动到另外一个点。在每一个操作之间都调用下wait,暂缓下它们的操作间隙,不然太快了,看起来就是一团乱麻。 1.短按和点击的区别?...x=end_x, y=end_y,没有用el。 5.首先确定每一个点的位置 选择一个元素上的坐标,大概会选哪个位置的? 中心。 坐标轴写错了一点,偏移了点,好歹也是在范围之内。...采用和滑屏操作一样的思想,用百分比和相对距离。如果能获取到元素的大小以及起点坐标就可以了。 ? 图片来自网络 距离是 59。147-59=88 ? 图片来自网络 可以估算一下: ?...第一个点的坐标:能够得到 view 的起点坐标是 45,272。有专门的函数可以获取元素的大小以及它的起点坐标。 ? 图片来自网络 假设起点坐标是 x、y,我现在已经知道将它分成了 6 份。...需要看日志,日志中会告诉你,当前滑动的点是什么。 多看Appium中的日志,它会问你是el滑动还是坐标滑动? 坐标滑动会直接打印坐标值,看下坐标值超了就说明是有问题的。
手指在屏幕上点点点,在 Appium 中提供了专门的TouchAction类来做这件事。 Press、longPress和release组合起来使用的。长按和短按的时间长度不同。...x=end_x, y=end_y,没有用el。 5.首先确定每一个点的位置 选择一个元素上的坐标,大概会选哪个位置的? 中心。 坐标轴写错了一点,偏移了点,好歹也是在范围之内。...采用和滑屏操作一样的思想,用百分比和相对距离。如果能获取到元素的大小以及起点坐标就可以了。 [图片来自网络] 距离是 59。...边界值的差距是多少? 把它分成 6 份。第一个点的坐标:能够得到 view 的起点坐标是 45,272。有专门的函数可以获取元素的大小以及它的起点坐标。...这个是版本差异引起的。 需要看日志,日志中会告诉你,当前滑动的点是什么。 多看Appium中的日志,它会问你是el滑动还是坐标滑动? 坐标滑动会直接打印坐标值,看下坐标值超了就说明是有问题的。
应用背景 滑动操作一般是两点之间的滑动,而实际使用过程中用户可能要进行一些多点连续滑动操作。如九宫格滑动操作,连续拖动图片移动等场景。那么在Appium中该如何模拟这类操作呢?...使用TochAction需要先导入对应的模块 from appium.webdriver.common.touch_action import TouchAction 按压 方法:press() 开始按压一个元素或坐标点...通过手指按压手机屏幕的某个位置。press也可以接收屏幕的坐标(x,y)。...move_to(self, el=None, x=None, y=None) 注意: 移动到目标位置有时是算绝对坐标点,有时是基于前面一个坐标点的偏移量,这个要结合具体App来实践。...那么我们该如何使用Appium进行滑动操作呢? 测试场景 安装启动随手记App 启动App后在密码设置选项中开启手机密码并滑动九宫格设置如下图形密码: ?
一、swipe介绍 1.查看源码语法,起点和终点四个坐标参数,duration是滑动屏幕持续的时间,时间越短速度越快。默认为None可不填,一般设置500-1000毫秒比较合适。...从一个点滑动到另外一个点,duration是持续时间 :Args: - start_x - 开始滑动的x坐标 - start_y - 开始滑动的y坐标 - end_x..., 400) ``` 2.手机从左上角开始为0,横着的是x轴,竖着的是y轴 二、 获取坐标 1.由于每个手机屏幕的分辨率不一样,所以同一个元素在不同手机上的坐标也是不一样的,滑动的时候坐标不能写死了。...可以先获取屏幕的宽和高,再通过比例去计算。...# 起始y坐标 y2 = l['height'] * 0.25 # 终点y坐标 for i in range(n): driver.swipe(x1, y1, x1,
前言 最近微信的小程序越来越多了,随之带来的问题是:小程序如何做自动化测试?...本篇以摩拜小程序为例,介绍如何定位小程序里面的元素 运行环境: android 7.0 appium v1.7.1 webview进程 1.小程序和微信公众号还不太一样,基本思路差不多,先配置:chromeOptions...l['width'] * 0.5 # x坐标 y1 = l['height'] * 0.25 # 起始y坐标 y2 = l['height'] * 0.75...# 向下滑动 swipeDown(driver) 小程序操作 1.进入小程序后点右下角的头像,这里可以通过坐标去点击 由于每个手机分辨率不一样,这里可以直接去计算下图标在屏幕的比例 ?...(x1, y1, x1, y2,t) # 向下滑动 swipeDown(driver) time.sleep(2) # 点开小程序 driver.find_elements_by_id("com.tencent.mm
如九宫格滑动操作,连续拖动图片移动等场景。那么这种高级绚丽的溜冰滑动在Appium中该如何模拟这类操作呢?下面听宏哥给你慢慢道来。...通过手指按压手机屏幕的某个位置。 press也可以接收屏幕的坐标(x,y)。...那么我们该如何使用Appium进行滑动操作呢? 测试场景 安装启动随手记App 启动App后在密码设置选项中开启手机密码并滑动九宫格设置如下“Z”字形的图形密码。 ?...5 ''' 6 Created on 2019-8-07 7 @author: 北京-宏哥 QQ交流群:707699217 8 Project:学习和使用appium自动化测试-高级滑动 9...() 连续滑动设置手势密码坐标计算 首先使用工具获取到元素坐标位置,可以看到起始位置是【138,218】,终点位置是【581,661】 分析: 该图形可以横竖划分六等分 ?
如果你还想从头学起Appium,可以看看这个系列的文章哦!...www.cnblogs.com/poloyy/category/1693896.html 前言 在Desired Capabilities这么多参数里面,对于Android来说,以下两个参数都是必不可少的...'appPackage' 'appActivity' 而不同的app ,也会有不同的Activity和Package,那么我们需要通过什么方式去获取它们捏!...打开App 执行上面的命令 打开log.txt文件,搜索:packageName和realActivity ?
在这里插入图片描述 swipe是对TouchAction的一个封装,底层源代码还是使用了TouchAction swipe(self, start_x, start_y, end_x, end_y,...duration=None): int start x-开始滑动的x坐标; int start y -开始滑动的y坐标 ; int end x -结束点x坐标; int end y -结束点y坐标; duration...滑动时间(默认5毫秒) 屏幕左上角为起点,坐标为(0,0),起点往右为Y轴,起点以下为X轴 其实就是需要输入一个滑动起始点和结束点对应的X Y坐标,进行滑动操作,而在实际工作中一般输入的是相对坐标,根据整个屏幕的比例计算得到的坐标...如下的Java代码,获取到屏幕的高和宽,再根据高和宽来确定滑动的起始位置和结束位置。...毫秒数越小 滑动的速度越快~ 一般设定在500~1000,如果你想快速滑动 那就可以设置的更加小) num(是只滑动的次数,如相册多张图片翻页测试什么的滑动或者滑动到列表底部。
包名和入口类的名称可以在安装包中的AndroidManifest.xml文件获取。...实例如下所示: driver.scroll(el1,el2) 可以使用swipe()模拟从A点滑动到B点,用法如下所示: swipe(self, start_x, start_y, end_x, end_y...start_x:它是开始位置的横坐标。 start_y:它是开始位置的纵坐标。 end_x:它是终止位置的横坐标。 end_y:它是终止位置的纵坐标。 duration:它是持续时间,单位是毫秒。...可以使用flick()方法模拟从A点快速滑动到B点,用法如下所示: flick(self, start_x, start_y, end_x, end_y) 几个参数说明如下。...start_x:它是开始位置的横坐标。 start_y:它是开始位置的纵坐标。 end_x:它是终止位置的横坐标。 end_y:它是终止位置的纵坐标。
2024-02-28:用go语言,有一个由x轴和y轴组成的坐标系, "y下"和"y上"表示一条无限延伸的道路,"y下"表示这个道路的下限,"y上"表示这个道路的上限, 给定一批长方形,每一个长方形有(x1..., x2, y1, y2),4个坐标可以表示一个长方形, 判断这条道路整体是不是可以走通的。...像素点是水平或竖直方向连接的。 给你两个整数 x 和 y 表示某一个黑色像素的位置。 请你找出包含全部黑色像素的最小矩形(与坐标轴对齐),并返回该矩形的面积。...7.在minArea函数中,调用辅助函数获取左边界、右边界、上边界和下边界,并计算矩形的面积((right - left + 1) * (down - up + 1))。...8.在main函数中,定义一个示例图片image和给定的点(x, y),调用minArea函数并将结果打印出来。