PyQt get a link's "src" attribute when it is clicked on in a QtWebView
Solved
Qt WebKit
-
wrote on 14 Mar 2018, 21:32 last edited by
In PyQt is there a way to capture the src attribute on an anchor (link) when it is clicked on?
I guess ultimately I'm looking for an event listener for whenever a link is clicked on a webpage that's in a QtWebView.
-
wrote on 14 Mar 2018, 21:40 last edited by
This answer looks promising but I'm not sure how to implement it in my code:
webview = QtWebKitWidgets.QWebView() webview.setWindowTitle(title) webpage = webview.page() webpage.setNetworkAccessManager(self.WebNetworkAccessManager) webview.load(QUrl(url))
-
wrote on 15 Mar 2018, 13:14 last edited by
Use setLinkDelegationPolicy and linkClicked signal in QWebPage
-
wrote on 15 Mar 2018, 17:14 last edited by
Ah cool, got it. Ended up going with something like this. Thanks
webview = WebBrowserView() webview.setWindowTitle(title) webpage = webview.page() webpage.setNetworkAccessManager(self.WebNetworkAccessManager) webpage.setLinkDelegationPolicy(QtWebKitWidgets.QWebPage.DelegateExternalLinks) webview.load(QUrl(url)) class WebBrowserView(QtWebKitWidgets.QWebView): def __init__(self, parent=None): super(WebBrowserView, self).__init__() self.linkClicked.connect(self.handleLinkClicked) def handleLinkClicked(self, url): print(url.toString())
1/4