pyqt qwebelementでGoogleを提出します
-
02-10-2019 - |
質問
次のコードはSearchResultsに到達しません。 documentlement.findfirst( 'input [name = "btng"]')を印刷しました。 <input name="btnG" type="submit" value="Google Search" class="lsb">
ですから、私たちはその時点までは良いです。私の目標はGoogleを削ることではありませんが、よく知られている公開のGoogleを介して学習する方が簡単です。
#!/usr/bin/python
from PyQt4.QtCore import QUrl, SIGNAL
from PyQt4.QtGui import QApplication
from PyQt4.QtWebKit import QWebPage, QWebView
class Scrape(QApplication):
def __init__(self):
super(Scrape, self).__init__(None)
self.webView = QWebView()
self.webView.loadFinished.connect(self.searchForm)
def load(self, url):
self.webView.load(QUrl(url))
def searchForm(self):
documentElement = self.webView.page().currentFrame().documentElement()
inputSearch = documentElement.findFirst('input[title="Google Search"]')
inputSearch.setAttribute('value', 'test')
self.webView.loadFinished.disconnect(self.searchForm)
self.webView.loadFinished.connect(self.searchResults)
documentElement.findFirst('input[name="btnG"]').evaluateJavaScript('click()')
def searchResults(self):
for element in documentElement.find('li[class="g"]'):
print unicode(element.toOuterXml())
self.exit()
my_scrape = Scrape()
my_scrape.load('http://google.com/ncr')
my_scrape.exec_()
解決
私はついにそれを理解しました!に提出しました http://drupal4hu.com/node/266
所属していません StackOverflow