ฉันกำลังเขียนโปรแกรม MacOS ขนาดเล็กด้วย WebView ซึ่งโหลดเว็บไซต์ นี่เป็นหนึ่งในไซต์เหล่านั้นที่โหลดเนื้อหาเพิ่มเติมโดยอัตโนมัติเมื่อคุณเลื่อนไปที่ด้านล่าง เมื่อใกล้หมดอายุ ฉันกำลังพยายามเขียนโค้ดที่จะเลื่อนไปที่ด้านล่างของหน้าอย่างต่อเนื่องเพื่อให้มีการโหลดมากขึ้นเรื่อยๆ
สิ่งที่ฉันมีจนถึงตอนนี้คือ:
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)
เพื่อให้รู้ว่าส่วนล่างใหม่ของหน้าอยู่ตรงไหน?
ขอบคุณ!