本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
一、使用pyautogui库获取屏幕对应坐标
因为使用XPath无法点击到页面的播放按钮,所以使用pyautogui库进行对应位置的点击。
屏幕尺寸为1920×1080,在不化Chrom浏览器的情况下,获取到播放按钮的坐标为(676, 860)
运行此程序,可以每秒输出鼠标对应的位置
gainPosition.py
import time import pyautogui try: # 获取当前屏幕的尺寸 screenWidth, screenHeight = pyautogui.size() # 打印当前屏幕的尺寸 print("Screen size: (%s %s)\n" % (screenWidth, screenHeight)) while True: # 获取当前鼠标所停留位置的的坐标 x, y = pyautogui.position() # 打印出当前鼠标所停留位置的的坐标 print("Position : (%s, %s)\n" % ( x, y)) # 每1s打印一次 time.sleep(1) except KeyboardInterrupt: print('end')
二、使用selenium库完成视频播放
run.py
from selenium import webdriver import time import pyautogui import os from selenium.webdriver.common.keys import Keys #要在Chrome浏览器中安装插件ChromeDriver插件,放到anaconda目录中 #打开Chrome浏览器 options = webdriver.ChromeOptions() options.binary_location = r"D:\Google\Chrome\Application\chrome.exe" myDriver = webdriver.Chrome(options=options) #等3秒 time.sleep(3) #打开要完成视频播放的网站第一节,扫码进行登录 myDriver.get(r'https://mooc1-1.chaoxing.com/mycourse/studentstudy?chapterId=383599952&courseId=215813776&clazzid=35390146&enc=9ff388843e2f221735b6f5fadb6f0ced') time.sleep(10) #点击对应坐标按钮位置播放 pyautogui.click(676, 860) #因为每节的视频没有超过15分钟,所设置等500秒 time.sleep(900) #点击第二节 #打开开发者模式,使用开发者工具使用检查器点击对应位置,右键copy full Xpath,复制到r''中,.click()即点击了对应位置 myDriver.find_element_by_xpath(r'/html/body/div[4]/div[1]/div[2]/div[1]/div/div[1]/div[2]/h4/a/span').click() time.sleep(3) #点击对应坐标按钮位置播放 pyautogui.click(676, 860) #因为每节的视频没有超过15分钟,所设置等500秒 time.sleep(900) #除了r''中放要完成视频播放的对应章节的xpath,其余代码同上一段
补充说明
代码写的比较简陋,只能实现基本的功能。
未解决鼠标移开播放窗口暂停的问题,完成视频播放的时候无法进行其他的操作。而且播放的等待时间是写死的。
以上就是用python脚本完成视频播放的过程,希望能对你有所帮助哟~