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