在QWebEngineView中获取原始答案数据的方法是通过使用QWebEnginePage的runJavaScript函数来执行JavaScript代码并获取返回结果。下面是一个示例代码:
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建QWebEngineView对象
self.web_view = QWebEngineView(self)
self.setCentralWidget(self.web_view)
# 加载网页
self.web_view.setUrl(QUrl("https://www.example.com"))
# 在网页加载完成后执行JavaScript代码
self.web_view.page().loadFinished.connect(self.get_answer_data)
def get_answer_data(self, ok):
if ok:
# 执行JavaScript代码并获取返回结果
script = """
// 这里写你的JavaScript代码
// 获取原始答案数据的方法
var answerData = ...; // 获取原始答案数据的代码
answerData; // 返回原始答案数据
"""
self.web_view.page().runJavaScript(script, self.handle_answer_data)
def handle_answer_data(self, result):
# 处理原始答案数据
print("原始答案数据:", result)
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
在上述代码中,首先创建了一个QMainWindow对象,并在其中放置了一个QWebEngineView对象作为中心部件。然后使用setUrl方法加载了一个网页(示例中使用了"https://www.example.com"作为示例)。在网页加载完成后,通过连接QWebEngineView的loadFinished信号到get_answer_data槽函数,来执行JavaScript代码获取原始答案数据。
在get_answer_data函数中,首先判断页面加载是否成功,然后使用runJavaScript函数执行JavaScript代码。你需要将你的实际JavaScript代码写在这里,以获取原始答案数据,并将结果作为返回值返回。在示例代码中的JavaScript代码的注释部分,你需要根据你实际的需求编写获取原始答案数据的代码。
最后,通过连接runJavaScript函数的结果信号到handle_answer_data槽函数,来处理获取到的原始答案数据。在handle_answer_data函数中,你可以根据需要对原始答案数据进行处理。
请注意,上述示例中使用的是PyQt5库来实现,如果你使用的是其他的GUI库或编程语言,相应的代码可能会有所不同。此外,获取原始答案数据的具体方法取决于你要访问的网页的结构和内容,可能需要使用不同的JavaScript代码来适应不同的情况。
领取专属 10元无门槛券
手把手带您无忧上云