webbrowser控件输入框输入信息后回车跳转

在使用webbrowser控件浏览网页时,当需要在输入框输入信息后按回车跳转时,可以采用两种方法实现。方法一是模拟提交回车信息,通过获取网页元素并使其获得焦点,然后模拟点击回车。方法二是执行javascript函数,通过监听工具找到按回车触发的js函数名,使用webbrowser的execScript方法执行该函数。

用webbrowser控件浏览网页时,常碰到输入信息后直接按回车就可以跳转这样的事,

如果让程序去干这样的事,有两种方法。

方法一:模拟提交回车信息

首先得让该输入框获得焦点

 

IHTMLElementCollection* pColl = NULL;

hr = pRightDoc->get_all( &pColl );                                 // 获取网页元素集合

 

VARIANT index;

V_VT(&index) = VT_I4;

V_I4(&index) = 0;

     VARIANT varID = StringToVariant(strDocID);                 // 该输入框的网页元素ID--通过httpWatch等抓包工具分析

pyqt5界面设计浏览器,而且载网页中的链接,根据修改提供的代码符合要求。 from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QLineEdit, QPushButton, QHBoxLayout, QFileDialog from PyQt5.QtWebEngineWidgets import QWebEngineView from PyQt5.QtCore import QUrl class SimpleBrowser(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Simple Browser") # 主窗口部件和布局 central_widget = QWidget() main_layout = QVBoxLayout(central_widget) # 地址栏和按钮布局 url_layout = QHBoxLayout() self.url_input = QLineEdit() self.url_input.returnPressed.connect(self.load_url) # 按下回车键时载网址 source_button = QPushButton("Source") source_button.clicked.connect(self.load_url) close_button = QPushButton("Close") close_button.clicked.connect(self.close_page) quit_button = QPushButton("Quit") quit_button.clicked.connect(self.quit_app) url_layout.addWidget(self.url_input) url_layout.addWidget(source_button) url_layout.addWidget(close_button) url_layout.addWidget(quit_button) # 添地址栏和按钮到主布局 main_layout.addLayout(url_layout) # 网页视图 self.web_view = QWebEngineView() self.web_view.load(QUrl("https://www.example.com")) # 默认载的网页 main_layout.addWidget(self.web_view) # 设置主窗口的中心部件 self.setCentralWidget(central_widget) def load_url(self): """输入框中的网址""" url = self.url_input.text() if not url.startswith("http"): url = "http://" + url self.web_view.load(QUrl(url)) def close_page(self): """关闭当前页面""" self.web_view.stop() # 停止载当前页面 self.web_view.setHtml("") # 清空网页内容 def quit_app(self): """退出应用程序""" QApplication.quit() if __name__ == "__main__": app = QApplication([]) browser = SimpleBrowser() browser.resize(800, 600) browser.show() app.exec_()
最新发布
06-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值