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

selenium+pyautogui实现页面鼠标自动化控制

用于一些重复化的简单鼠标工作

selenium负责创建浏览器实例

pyautogui负责鼠标操作

注意事项:

1.建议使用106版本的谷歌浏览器,安装路径无空格,131版本的谷歌浏览器会强制安装在C:\Program Files之下,导致路劲有空格会报错。

2.提前安装好对应版本的chromedriver.exe

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
import urllib.request
import requests
import time
import pyautogui
import os# 打开cmd,并且在9222端口打开一个谷歌浏览器
os.system('cmd/c "C:\\Users\\181018\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe --remote-debugging-port=9222"')
time.sleep(1)# 设置 ChromeDriver 的路径
chrome_driver_path = 'C:\\Users\\181018\\Desktop\\lizhi_huishou\\chromedriver_win32\\chromedriver.exe'
service = Service(chrome_driver_path)# 创建 Chrome 浏览器实例
driver = webdriver.Chrome(service=service)
# 最大化浏览器
driver.maximize_window()# 打开网页
url = "https://***.***.com:8443/#/login"
driver.get(url)
time.sleep(2)# 鼠标操作
pyautogui.dragTo(690,635)
pyautogui.click()
time.sleep(1)
# https不推荐的页面
pyautogui.dragTo(690,775)
pyautogui.click()
time.sleep(3)
# ldap登录
pyautogui.dragTo(1195,795)
pyautogui.click()
time.sleep(1)# 获取用户名密码输入框的ID,输入用户名密码
username_input = driver.find_element(By.ID,"login_user_name")
username_input.send_keys("你的用户名")
password_input = driver.find_element(By.ID,"login_password")
password_input.send_keys("你的密码")
time.sleep(1)# 登录
pyautogui.dragTo(1220,730)
pyautogui.click()
time.sleep(8)pyautogui.click(80,340)
time.sleep(1)
pyautogui.dragTo(760,135)
time.sleep(1)
pyautogui.click(777,200)
time.sleep(1)
pyautogui.click(1777,390)
time.sleep(1)
pyautogui.click(1158,773)
time.sleep(1)# 脚本完成,等待5秒
time.sleep(5)
# 关闭浏览器
driver.quit()

http://www.dtcms.com/a/307397.html

相关文章:

  • 学习Python中Selenium模块的基本用法(4:WebDriver常用属性及函数)
  • RabbitMQ的特点和消息可靠性保障
  • RabbitMQ 队列配置设置 RabbitMQ 消息监听器的并发消费者数量java
  • [Linux入门] Linux防火墙技术入门
  • rabbitmq的安装和使用-windows版本
  • 远程仓库地址发生变化
  • RabbitMQ安装与介绍
  • 推客小程序商业模型设计:合规分佣体系×盈利模式×LTV提升策略
  • Cesium 快速入门(七)材质详解
  • 一键打包所有docker镜像的脚本
  • 暑期算法训练.11
  • 【09】大恒相机SDK C#开发 ——库函数 IntPtr ConvertToRGB24详细解释 及 示例
  • 【Linux系统】库的制作与原理
  • 007TG洞察:波场TRON上市观察,Web3流量工具的技术解析与应用
  • 【Linux系列】SSD 与 HDD
  • 学习日志23 python
  • 深度理解 linux 系统内存分配
  • 用 AI 解析采购订单,从上传到自动生成 Draft 订单全流程实战
  • 多种录音笔录音芯片方案推荐
  • 《Java 程序设计》第 17 章 - 并发编程基础
  • MBR与GPT分区表深度解析:硬盘分区该怎么选?
  • CPP学习之继承
  • 《Java 程序设计》第 18 章 - Java 网络编程
  • 常见的中间件漏洞
  • AI IDE+AI 辅助编程-生成的大纲-一般般
  • 设计模式:责任链模式 Chain of Responsibility
  • 排序的演进:从机械齿轮到领域专用芯片加速器的全面综述
  • Centos 7部署.NET 8网站项目
  • 如何在 macOS 上使用 dnsmasq 搭建本地 DNS 缓存/转发
  • 微服务 02