当前位置: 首页 > news >正文

记录一个Python鼠标自动模块用法和selenium加载网页插件的设置

写爬虫,或者网页自动化,让程序自动完成一些重复性的枯燥的网页操作,是最常见的需求。能够解放双手,空出时间看看手机,或者学习别的东西,甚至还能帮朋友亲戚减轻工作量。
然而,网页自动化代码编写过程中,有些网页元素是很难识别,或者因为反爬的机制,元素被隐藏或者加密,常规的办法无法实现自动点击,或者自动提交等操作,于是偶尔配合鼠标自动化的点击,或者网页插件配合,也可以紧急救场,毕竟及时解决问题才是关键,先让网页自动运行着,腾出时间,一边完成自动化工作,一边再查资料,想办法解决这些问题,优化代码。
下面是鼠标键盘的自动模块,简单容易上手。
pymouse 鼠标自动模块
pykeyboard 键盘自动模块
安装使用参考网页 https://blog.csdn.net/qq_16555103/article/details/108427438

'示例代码,在特定位置,重复点击鼠标:'import requests
from selenium import webdriver
import re
import pymouse,pykeyboard,os,sys
import random
from pymouse import *
from pykeyboard import PyKeyboard
from pynput.mouse import Button, Controllerimport timeimport osimport threadingdef automouse(): #鼠标自动点击mouse = Controller()#读取鼠标指针在屏幕上的位置print(f'当前鼠标指针的位置是:{mouse.position}')# 设置鼠标指针的位置mouse.position = (1104, 620)print(f'现在我们将鼠标指针移动到了 {mouse.position}')# 相对于当前位置移动指针mouse.press(Button.left)#左键按下time.sleep(0.05)#mouse.move(370, 0)mouse.release(Button.left)#抬起左键while True:time.sleep(8)automouse()
'Google浏览器加载油猴等插件,selenium如何配置:'
import requests
from selenium import webdriver
import re
import pymouse,pykeyboard,os,sys
import random
from pymouse import *
from pykeyboard import PyKeyboard
from pynput.mouse import Button, Controller
from selenium.webdriver.common.by import By
import time
from selenium.webdriver.chrome.service import Service
import os
from multiprocessing import Process
import threadingfrom bs4 import BeautifulSoup# 启用带插件的浏览器option = webdriver.ChromeOptions()#用Chrome地址栏输入chrome://version/,查看自己的“个人资料路径”,然后在浏览器启动时,调用这个配置文件  option.add_argument('--user-data-dir='+r'C:/Users/mayn/AppData/Local/Google/Chrome/User Data/')  #注意设置成用户自己的数据,在谷歌浏览器地址栏,输入chrome://version/,回车,你会看到很多版本信息,找到个人资料路径,复制到这里面。driver = webdriver.Chrome(options=option)time.sleep(3)driver.get("http://www.baidu.com")#driver.maximize_window()# 设置浏览器窗口的位置和大小driver.set_window_position(20,40)driver.set_window_size(1500,800)driver.maximize_window()driver.implicitly_wait(10)
http://www.lryc.cn/news/266404.html

相关文章:

  • 【数据库系统概论】第3章-关系数据库标准语言SQL(1)
  • 【Python】基于flaskMVT架构与session实现博客前台登录登出功能
  • 为什么有的开关电源需要加自举电容?
  • 【MCAL】TC397+EB-treso之MCU配置实战 - 芯片时钟
  • 高级人工智能之群体智能:蚁群算法
  • 【SpringBoot应用篇】【AOP+注解】SpringBoot+SpEL表达式基于注解实现权限控制
  • Java研学-HTTP 协议
  • 差生文具多之(二): perf
  • 【SPI和API有什么区别】
  • Day67力扣打卡
  • 什么是网站监控?
  • 游戏软件提示d3dcompiler_43.dll的五个解决方法,亲测靠谱
  • python使用opencv提取视频中的每一帧、最后一帧,并存储成图片
  • 说说对React refs 的理解?应用场景?
  • Pytorch 读取t7文件
  • 【YOLOV8预测篇】使用Ultralytics YOLO进行检测、分割、姿态估计和分类实践
  • [Linux] MySQL数据库之索引
  • 【期末考试】计算机网络、网络及其计算 考试重点
  • 力扣labuladong——一刷day79
  • 【数据结构入门精讲 | 第十篇】考研408排序算法专项练习(二)
  • 【ES实战】Elasticsearch6开始的CCR
  • Deployment Pay
  • MySQL创建member表失败
  • 使用minio实现大文件断点续传
  • 插入排序之C++实现
  • Tomcat日志乱码了怎么处理?
  • [node] Node.js的路由
  • 网络编程第三天作业
  • AIGC:大语言模型LLM的幻觉问题
  • 【C语言刷题每日一题#牛客网BC68】——X形图案