检查页面加载(Python)

时间:2010-09-03 13:05:29

标签: python browser

在Python中,有没有办法可以找出我打开的浏览器窗口是否已完全加载,可能是使用了一个包(例如,webbrowser)?一旦完全加载,我想截取它并保存它。

2 个答案:

答案 0 :(得分:3)

您可以使用例如Selenium;不过,我不确定这是不是你想要的。请参阅此short guide

#!/usr/bin/env python

from selenium import selenium

sel = selenium('localhost', 4444, '*firefox', 'http://www.google.com/')
sel.start()
sel.open('/')
sel.wait_for_page_to_load(10000)
sel.stop()

您也可以使用COM钩子来控制IE(呃):

import win32com.client
import time

ie = win32com.client.Dispatch( "InternetExplorer.Application" )
ie.Navigate( <some URL> )
time.sleep( 1 )
print( ie.Busy )

有一个包含所有COM功能的模块:IEC.py

答案 1 :(得分:0)

严格来说,你不能用python做到这一点。但是,使用Javascript,您可以等待“onload”事件并向您的python后端发送ajax请求。 使用JQuery它应该是类似的。

//callback for the onload
jQuery(document)
        .ready(function() {

$.ajax({
   type: "POST",
   url: "thePythonScript.py",
   data: "name=Daniel&location=Somewhere",
   success: function(msg){
     alert( "Data Saved: " + msg );
   }
 });

});