方案說明
功能要求:實現(xiàn)網(wǎng)頁加載后將頁面截取成長圖片
涉及模塊:PyQT5 PIL
邏輯說明:
1:完成窗口設(shè)置,利用PyQT5 QWebEngineView加載網(wǎng)頁地址,待網(wǎng)頁加載完成后,調(diào)用check_pag;
class MainWindow(QMainWindow): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setWindowTitle('易哈佛') self.temp_height = 0 self.setWindowFlag(Qt.WindowMinMaxButtonsHint, False) # 禁用大化,最小化 # self.setWindowFlag(Qt.WindowStaysOnTopHint, True) # 窗口頂置 self.setWindowFlag(Qt.FramelessWindowHint, True) # 窗口無邊框 def urlScreenShot(self, url): self.browser = QWebEngineView() self.browser.load(QUrl(url)) geometry = self.chose_screen() self.setGeometry(geometry) self.browser.loadFinished.connect(self.check_page) self.setCentralWidget(self.browser) def get_page_size(self): size = self.browser.page().contentsSize() self.set_height = size.height() self.set_width = size.width() return size.width(), size.height() def chose_screen(self): width, height = 750, 1370 desktop = QApplication.desktop() screen_count = desktop.screenCount() for i in range(0, screen_count): rect = desktop.availableGeometry(i) s_width, s_height = rect.width(), rect.height() if s_width > width and s_height > height: return QRect(rect.left(), rect.top(), width, height) return QRect(0, 0, width, height) if __name__ == '__main__': app = QApplication(sys.argv) win = MainWindow() win.show() app.exit(app.exec_())
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。