QMainWindow加载QWebEngineView同时运行pyautogui页面无法响应

问题遇到的现象和发生背景

用PyQt5编写一个自动化点击加载网页的脚本,将网页通过QWebEngineView加载到mainwindow下,同时在mainwindow上布局一些操作按钮来进行相应的任务操作,通过pyautogui模拟鼠标键盘的形式

问题相关代码,请勿粘贴截图
import pyautogui,sys
from PyQt5.QtCore import QUrl, Qt
from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton
from PyQt5.QtWebEngineWidgets import QWebEngineView
 
class MainWindow(QMainWindow):
    def __init__(self):
        super(QMainWindow, self).__init__()
        self.initUI()
 
    def initUI(self):
        # 主窗口设置
        self.setWindowTitle('自动化')
        self.setGeometry(0, 0, 550, 700)
 
        # 网页内嵌设置
        self.crazyChiefMain = QWebEngineView(self)
        self.crazyChiefMain.setGeometry(0, 0, 438, 700)
        self.crazyChiefMain.load(QUrl(r"https://www.baidu.com"))
 
        # 提交开始按钮
        self.bt_start = QPushButton('开始点击', self)
        self.bt_start.setGeometry(450,50,90, 30)
        self.bt_start.clicked.connect(self.go)
 
    def go(self):
        pyautogui.click(x=133, y=347, duration=0.5)
        pyautogui.click(x=133, y=387, duration=0.5)
        pyautogui.click(x=133, y=417, duration=0.5)
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = MainWindow()
    win.show()
    sys.exit(app.exec_())

运行结果及报错内容

运行时发现当鼠标模拟任务开始,所加载的网页是处于静止无响应状态的,无法对其进行操作,待模拟任务结束,又恢复正常页面

我的解答思路和尝试过的方法

尝试过用多线程、多进程好像也不能对加载的页面进行操作,但是如果是两个独立的py脚本,分开运行是没有问题的

我想要达到的结果

用PyQt5通过UI设计,增加QWebEngineView加载网页,在同一mainwindow下布局一些操作按钮展示出来,用pyautogui模拟鼠标对所加载的页面进行相应的自动化操作

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

因为采用了单线程,任务就是出现假死现象,必须采用多线程,而PyQt5.Qt中本身有QThread多线程模块,所以用QThread就可以解决了

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632