python 实现 在已打开的页面操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 实现 在已打开的页面操作相关的知识,希望对你有一定的参考价值。

参考技术A 1、要重写Remote类,防止session重建,如下:

class ReuseChrome(Remote):

    def __init__(self, command_executor, session_id):

        self.r_session_id= session_id

        Remote.__init__(self, command_executor=command_executor, desired_capabilities=)

    def start_session(self, capabilities, browser_profile=None):

        if not isinstance(capabilities, dict):

            raise InvalidArgumentException("Capabilities must be a dictionary")

        if browser_profile:

            if "moz:firefoxOptions" in capabilities:

                capabilities["moz:firefoxOptions"]["profile"] = browser_profile.encoded

else:

                capabilities.update('firefox_profile': browser_profile.encoded)

        self.capabilities= options.Options().to_capabilities()

        self.session_id= self.r_session_id

self.w3c= False

2、访问已打开页面方式:

dr= ReuseChrome(command_executor=old_curl, session_id=sessionid)

其中old_curl需在原来打开的页面上获取:

old_curl=dr.command_executor._url    #一定要用这个方法,获取当前地址是行不通的!

sessionid=dr.session_id

python实现自动点赞

1.思路
通过pyautogui可以实现鼠标点击、滚动鼠标、截屏等操作。由此功能实现打开页面,进行点赞。
aircv可以从大图像获得小图像的位置,利用pyautogui截屏得到的图片,可以在页面获取到每一个??的位置,进行点击。
当前页面点击完之后,通过pyautogui滚动鼠标的功能继续向下翻。从而实现循环。
2. 参考
pyautogui自动化控制鼠标和键盘操作
aircv通过大图像获得小图像的位置

3. 安装包
这里利用了清华的镜像,不用镜像容易下载失败。
下载的opencv-contrib-python和opencv_python版本也要带上。如果已经下载了不对版本,可以使用pip uninstall 删除。
pip install aircv
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python==3.4.2.16
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv_python==3.4.2.16
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyautogui

4. 准备工作

需要把这个截下来图片放在代码的同目录下

很多人学Python过程中会遇到各种烦恼问题解决不了。为此小编建了个Python全栈免费答疑交流.裙 : 624440745

5. 代码
import cv2
import aircv as ac
import pyautogui
import time
import os

#获取赞所在的位置
def mousepos(img1,img2):
imsrc = ac.imread(img1) # 原始图像
imsch = ac.imread(img2) # 带查找的部分
match_result=ac.find_all_template(imsrc, imsch,0.80)

#提取出中心点的横纵坐标
points=[]
for i in match_result:
points.append((i[‘result‘]))
return points


def begin():
#截屏
time.sleep(1)
img1 = pyautogui.screenshot()
if os.path.exists(‘1.png‘): # 如果文件存在
# 删除文件,可使用以下两种方法。
os.remove(‘1.png‘)
img1.save(‘1.png‘)

#由于匹配相似度不同,为了减少错误,把纵坐标不在点赞的那一条的删除
pos=mousepos(‘1.png‘,‘test.png‘)
for i in pos[:]:
if i[0]!=pos[0][0]:
pos.remove(i)
print(pos)

#点击
for i in pos:
pyautogui.moveTo(i[0], i[1])
pyautogui.click(clicks=10, interval=0.2)
time.sleep(1)

#滚动鼠标
pyautogui.scroll(-300, x=100, y=100)

#这一段仅仅是根据所在位置打开页面,这一段可以不要,自己打开点赞页面也行。
def openpage ():
pyautogui.click(x=1596 ,y=1063,clicks=1, interval=2)
pyautogui.click(x=1539 ,y=272,clicks=1, interval=2)
pyautogui.click(x=896, y=581,clicks=1, interval=2)

if __name__ == ‘__main__‘:
openpage();
for i in range(20): #根据自己的需要设置次数
begin()

 注意:很多人学Python过程中会遇到各种烦恼问题解决不了。为此小编建了个Python全栈免费答疑交流.裙 : 624440745不懂的问题有老司机解决里面还有最新Python教程项目可拿,,一起相互监督共同进步!
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以上是关于python 实现 在已打开的页面操作的主要内容,如果未能解决你的问题,请参考以下文章

python使用fpdf2包和pdfrw包在已有的PDF页面上添加新的页

有啥好的软件可以实现录制鼠标和键盘的操作(尽量少手敲),生成脚本供python调用?

python pandas在已存在的excel中追加数据

Python静态网页爬取:批量获取高清壁纸

jQuery模仿ToDoList实现简单的待办事项列表

怎么写出一个网页的点击操作