【发布时间】:2011-04-07 20:27:29
【问题描述】:
在 Python 中,有什么方法可以查明我打开的浏览器窗口是否已完全加载,可能是使用包(例如,webbrowser)?完全加载后,我想对其进行截图并保存。
【问题讨论】:
在 Python 中,有什么方法可以查明我打开的浏览器窗口是否已完全加载,可能是使用包(例如,webbrowser)?完全加载后,我想对其进行截图并保存。
【问题讨论】:
严格来说,你不能用 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 );
}
});
});
【讨论】:
您可以使用例如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。
【讨论】: