43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
import sys
|
|
from PyQt5.QtWidgets import QApplication, QMainWindow
|
|
from PyQt5.QtWebEngineWidgets import QWebEngineView
|
|
from PyQt5.QtCore import QUrl
|
|
import logging
|
|
|
|
# 로거 인스턴스 가져오기
|
|
logger = logging.getLogger('default_logger')
|
|
class BrowserWindow(QMainWindow):
|
|
def __init__(self):
|
|
super().__init__()
|
|
self.initUI()
|
|
|
|
def initUI(self):
|
|
self.setWindowTitle("Web Browser with JavaScript")
|
|
self.setGeometry(100, 100, 1200, 800)
|
|
|
|
# 웹 뷰 추가
|
|
self.webView = QWebEngineView(self)
|
|
self.setCentralWidget(self.webView)
|
|
|
|
# 페이지 로드 시 JavaScript 코드 실행
|
|
self.webView.loadFinished.connect(self.onLoadFinished)
|
|
|
|
# 페이지 로드
|
|
self.webView.load(QUrl("https://world.taobao.com/wow/tmg-fc/tmw/search_image?spm="))
|
|
|
|
def onLoadFinished(self, ok):
|
|
if ok:
|
|
logger.debug("페이지 로드 완료")
|
|
# 제공된 CSS 선택자를 사용하여 특정 요소 클릭
|
|
js_click_script = """
|
|
var element = document.querySelector('#root > div > div.rax-view-v2.header--header--Tk0n5MS > div:nth-child(2) > div > div:nth-child(1) > div > div.component-search-list-right > div.component-search-list-rest-container > div');
|
|
if (element) element.click();
|
|
"""
|
|
self.webView.page().runJavaScript(js_click_script)
|
|
|
|
# 애플리케이션 실행
|
|
app = QApplication(sys.argv)
|
|
mainWindow = BrowserWindow()
|
|
mainWindow.show()
|
|
sys.exit(app.exec_())
|