首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >等待网站完全加载WebKitGTK+

等待网站完全加载WebKitGTK+
EN

Stack Overflow用户
提问于 2012-10-18 15:52:12
回答 1查看 1.4K关注 0票数 2

可能重复: Webkit GTK: Determine when a document is finished loading

我想用WebKitGTK+获取网站的HTML内容,以自动处理javascript重定向。

我使用以下Python代码:

代码语言:javascript
复制
def scanURL(domain, retries=3):
    status = 0
    loading = 0

    browser = webkit.WebView()
    browser.open('http://' + domain)
    while browser.get_load_status() < 2:
        continue

    if browser.get_load_status() == 4:
        if retries > 0:
            return scanURL(domain, retries - 1)
        return 'Failed'

    return 'Success'

该网站加载良好,但有一些特殊的网站重定向到一个网页重定向到其他地方,我尝试连接load-finished事件到一个函数,它被调用了两次。

有什么方法可以知道WebKit什么时候已经完全加载了网页?

我如何知道WebKit是否还在执行一些JavaScript代码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-18 16:55:00

对于所有网站来说,以编程方式完成这一任务并不是很确定的方法,因为在某些页面中,这些重定向是用javascript启动的,通常是由setTimeout在n秒钟后启动的,而且也没有内置的方法来扫描这些“怪癖”。但是,如果您正在解析一个已知的网站组,您肯定知道会发生这样的重定向,您可以创建这些urls的列表,其中包含所需的秒数,然后重定向就会发生。启动初始loadFinished后,您可以启动QTimer,将其信号连接到将再次触发loadFinished的函数,因此下一个页面加载肯定会在等待结果时启动。等待页面结果,直到没有新的loadStarted信号被触发,并且不需要再次进行重定向。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12958660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档