私はウェブサイトをロードするWebViewを備えた小さなMacOSプログラムを作成しています。これは、下にスクロールしたときにコンテンツを自動読み込みするサイトの1つです。期限切れとして、私は常にページの一番下までスクロールするコードを書こうとしているので、それ以上のものがロードされるようになっています。これは、かつてうまく機能Cocoa .scrollToEndOfDocumentは1回目の試行後に動作を停止します
scrollToBottomTotalTimes = 10
self.myWebView.mainFrame.load(NSURLRequest(url: NSURL(string: urlString)! as URL) as URLRequest!)
func webView(_ sender: WebView!, didFinishLoadFor frame: WebFrame!) {
var scrollToBottomCurrentTimes = 0
while scrollToBottomCurrentTimes != scrollToBottomTotalTimes {
scrollToBottomCurrentTimes += 1
self.myWebView.scrollToEndOfDocument(self)
sleep(2) //give the page some time to load
}
}
:
は、私がこれまで持っていることはこれですページの負荷が、それは下にスクロールして、ページのロードのより。
しかし、その後、WebViewはページがリロードされるのに十分な時間がかかっても、もうスクロールしません。ページ上の位置は以前と同じです。
.scrollToEndOfDocument(self)
は、ウェブページが長くなったという事実を検出していないようです。
.scrollToEndOfDocument(self)
を更新する方法はありますか?それで、ページの新しい場所がどこにあるのかわかりますか?
ありがとうございます!