0
我是新來的硒和JavaScript。 我想加載一個名爲VisualEvent的JavaScript到在硒控制瀏覽器中打開的頁面。然後從java中的硒訪問它的變量。 第一階段是由以下完全可以做到的:從硒訪問窗口對象
driver = new FirefoxDriver();
driver.get("http://stackoverflow.com/");
String script = //Minified of below script
//////////////
(function() {
var protocol = window.location.protocol === 'file:' ? 'http:' : '';
var url = protocol + '//www.sprymedia.co.uk/VisualEvent/VisualEvent_Loader.js';
if (typeof VisualEvent != 'undefined') {
if (VisualEvent.instance !== null) {
VisualEvent.close();
} else {
new VisualEvent();
}
} else {
var n = document.createElement('script');
n.setAttribute('language', 'JavaScript');
n.setAttribute('src', url + '?rand=' + new Date().getTime());
document.body.appendChild(n);
}
})();
///////////////////////
Object[] a = { null, null, null };
driver.executeScript(script, a);
但是,當我要訪問window.VisualEvent
:
script = "return window.VisualEvent.instance;";
Object b = driver.executeScript(script, a);
這execption拋出:
Exception in thread "main" org.openqa.selenium.JavascriptException: TypeError: window.VisualEvent is undefined
,當我在同一個執行此同時,瀏覽器控制檯,我會得到參考。 此外,我有權訪問硒的winow.document
對象。 有什麼想法?
您並未等待腳本完成下載 –