使用Splinter(Selenium包装器),我试图加载由窗口可见性触发的iFrame。当浏览器窗口位于我的监视器的前景时,iFrame仅在网页上加载。如果另一个窗口阻止它(或在另一个工作区中),则不会加载iFrame。
我想强迫Selenium始终认为它是焦点。我试图通过javascript执行此操作:
browser.execute_script("window.onblur = function() { window.onfocus() }")
但是,这仍然无法加载iFrame。我是Javascript文盲,但我认为this is the code决定何时显示验证码iframe。建议使用code window.onblur = function() { window.onfocus() }
browser.execute_script("window.focus();")
。
我也尝试过:
browser.execute_script("document.getElementById('THING').focus();")
browser.execute_script("document.getElementById('THING').click();")
及其变体:
var queryData = {
//yourinput parameter
}
$.ajax({
type : "GET",
url : "your url",
data : queryData,
timeout : 100000,
success : function(data) {
console.log("SUCCESS: ", data);
setData(data); //call function & pass your JSON data to it.
},
error : function(e) {
console.log("ERROR: ", e);
display(e);
},
done : function(e) {
console.log("DONE");
}
});