您的位置:首页 > 科技 > 能源 > 自己制作视频的软件_b2b外贸网站建设案例_整合网络营销公司_武汉网站seo服务

自己制作视频的软件_b2b外贸网站建设案例_整合网络营销公司_武汉网站seo服务

2024/10/12 16:50:39 来源:https://blog.csdn.net/m0_52592798/article/details/142848289  浏览:    关键词:自己制作视频的软件_b2b外贸网站建设案例_整合网络营销公司_武汉网站seo服务
自己制作视频的软件_b2b外贸网站建设案例_整合网络营销公司_武汉网站seo服务

文章目录

  • 零、前言
  • 一、自动登录校园网
    • 1.1 快速锁定小工具
    • 1.2 版本问题
    • 1.3 出现进程未结束的情况
    • 1.4 关于`chromedriver.exe`
    • 1.5 打包ico图片格式
  • 二、获取信息门户最新消息
  • 参考文章

零、前言

最近被校园网弄的也是比较烦心,而且准备远程弄弄这些玩具,为以后的远程的控制写写东西,也是按照哥哥的说法,用python写的东西,提高效率

一、自动登录校园网

这里我只是补充,对于一些小细节的注意事项进行记录

1.1 快速锁定小工具

在这里插入图片描述
这个是真好用,能一下锁定所需要关注的代码行,不需要去翻

1.2 版本问题

不知道什么情况,我的selenium死活都是3.14的版本,更新不上去,不能到4以上的版本,所以原本的
driver = webdriver.Chrome(service=service, options=chrome_options)
原本是需要Service函数,但是索性不需要了,直接按照老版本的来
driver = webdriver.Chrome(executable_path=r"D:\google\chromedriver.exe", options=chrome_options)
这个path是chromedriver.exe的绝对路径。

1.3 出现进程未结束的情况

出现白板,结束进程
嗯,我就把所以chrome的全结束了

process_name = "chrome.exe"
try:subprocess.check_call(["taskkill", "/F", "/IM", process_name])print(f"进程 {process_name} 已被结束。")
except subprocess.CalledProcessError as e:print(f"无法结束进程 {process_name}。错误代码:{e.returncode}")
except Exception as e:print(f"发生错误:{e}")

1.4 关于chromedriver.exe

关于这个,是必须要下载的
查看你爹chrome版本:chrome://version/
下载地址:https://googlechromelabs.github.io/chrome-for-testing/
在这里插入图片描述
可以直接把红框里面的数字,改成你的版本号,这样不用找了

1.5 打包ico图片格式

Pyinstaller -F -i awi6i-p5sbb-001.ico campus_internet.py
我用的是这个,网上找的png,jpg的图片想要设置成exe文件,必须转成ico文件

'''
Description: 河海大学校园网自动登录脚本
version: Windows版本 ubuntu版本
Author: ThreeStones1029 2320218115@qq.com
Date: 2024-01-08 17:13:25
LastEditors: ShuaiLei
LastEditTime: 2024-01-09 20:27:46Description: 河海大学校园网自动登录脚本(改进)
version: Windows11版本 
Author: 周末不下雨 1946809464@qq.com
Date: 2024-10-11 11:36:25
LastEditors: 周末不下雨
LastEditTime: 2024-10-11 11:36:25
'''
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
import datetime
import subprocess
#################################################################
# 这个位置是你自己的下载放置的chromedriver.exe的路径
# 下载之前查看自己的谷歌浏览器版本,需要下载对应版本
# 查看方法:在谷歌浏览器地址栏输入:chrome://version/
# 下载路径https://googlechromelabs.github.io/chrome-for-testing/
#################################################################
print(datetime.datetime.now())chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--ignore-certificate-errors-spki-list')
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument('--ignore-ssl-errors')
# 创建浏览器
driver = webdriver.Chrome(executable_path=r"D:\google\chromedriver.exe", options=chrome_options)
# 设置窗口大小
driver.set_window_size(1920, 1080)
username = "******" # 需要改动的地方,学号或者你的手机号
password = "******" # 需要改动的地方,你的密码
url = "http://10.96.0.155" # 河海大学校园网ip地址
driver.get(url)
try: # 判断当前的页面中是否是已经登录的界面,如果有找到tologout证明已经登录了driver.implicitly_wait(5)driver.find_element(By.XPATH, "//*[@id='toLogOut']")print("find tologout!")
except NoSuchElementException:print("开始连接学校网络……")# 下面的id信息可以在源码中找到,账户、密码driver.implicitly_wait(5)username_input = driver.find_element(By.XPATH, "//*[@id='username']")password_input = driver.find_element(By.XPATH, "//*[@id='pwd']")# 选择网络服务选项select_service = driver.find_element(By.XPATH, "//*[@id='selectDisname']")#  _service_0:校园网(Campus NET)#  _service_1:中国移动(CMCC NET)#  _service_2:中国电信-常州(CTCC NET-CZ)#  _service_3: 中国联通-常州(CUCC NET-CZ)services = driver.find_element(By.XPATH, "//*[@id='_service_1']")# 这个地方,有些学校可能不一样,有的就是loginLink,需要仔细查看login_button = driver.find_element(By.XPATH, "//*[@id='loginLink_div']")print("网页加载完毕")# # 传入相关参数,密码、账户、输入框需单击激活后才可输入↓,id名称上述方法同理username_input.send_keys(username)driver.find_element(By.XPATH, "//*[@id='pwd_tip']").click()password_input.send_keys(password)select_service.click()services.click()login_button.click()print("连接成功")# driver.close()
else:print("已登录")
process_name = "chrome.exe"
try:subprocess.check_call(["taskkill", "/F", "/IM", process_name])print(f"进程 {process_name} 已被结束。")
except subprocess.CalledProcessError as e:print(f"无法结束进程 {process_name}。错误代码:{e.returncode}")
except Exception as e:print(f"发生错误:{e}")# f = input("已登录,要退出吗?(Y/N)\n")# if f.lower() == "y":#     driver.find_element(By.XPATH, "//*[@id='toLogOut']").click()#     driver.find_element(By.XPATH, "//*[@id='sure']").click()#     print("已退出登录")#     # driver.close()# else:#     print("程序结束")# driver.close()

二、获取信息门户最新消息

嗯,这个我只想快点看到信息门户,顺便熟悉模拟点击和模拟输入,这里就不多解释了

import webbrowser
import pyautogui
import time
import pyperclip# 你想要打开的网站URL
url = 'https://my.hhu.edu.cn/portal-web/guest/hhdx/index.html?t=1689577009603'# 使用默认浏览器打开网站
webbrowser.open(url)# 移动鼠标到屏幕上的指定位置
pyautogui.moveTo(1000, 550)
time.sleep(1)
pyautogui.click()pyautogui.hotkey('ctrl', 'l')
pyautogui.hotkey('ctrl', 'c')# 使用pyautogui来获取剪贴板中的链接
current_url = pyperclip.paste()
if "service" in current_url:time.sleep(1)pyautogui.moveTo(1200, 520)pyautogui.click()time.sleep(2)pyautogui.moveTo(1300, 620)pyautogui.click()
else:time.sleep(2)pyautogui.moveTo(1300, 620)pyautogui.click()# time.sleep(1)
# pyautogui.moveTo(1200, 520)
# pyautogui.click()
#
# time.sleep(2)
# pyautogui.moveTo(1300, 620)
# pyautogui.click()# 移动鼠标到屏幕上的指定位置,坐标为(100,100)
# pyautogui.moveTo(1200, 520)# import pyautogui
# import time
#
# # 给一点时间来切换到正确的窗口或位置
# time.sleep(5)
#
# # 移动鼠标到屏幕上的指定位置,坐标为(100,100)
# pyautogui.moveTo(100, 100)
#
# # 在移动到的位置进行鼠标左键单击
# pyautogui.click()
#
# # 可以选择进行双击
# pyautogui.doubleClick()
#
# # 如果需要右键点击,可以指定button参数为'right'
# pyautogui.click(button='right')
#
# # 也可以拖动鼠标到另一个位置,例如(200,200)
# pyautogui.dragTo(200, 200, duration=1)
#
# # 移动到(0,0)位置,即屏幕的左上角
# pyautogui.moveTo(0, 0)
#
# # 执行双击操作
# pyautogui.doubleClick()

参考文章

  1. 自动连接校园网(河海大学)
  2. Python脚本打包成exe,看这一篇就够了

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com